How to Travel from Barcelona to Morocco by Plane, Ferry, and Train

Ferry Spain and Morocco
Nadieshda / Getty Images

Travelers from the U.S. who want to tour Morocco often find that the most affordable way to get there is to first fly to Spain and from there continue onward to Morocco. But what's the best city to arrive in Morocco? And what's the best way to get there?

If you're starting point is in Barcelona, the second question is easy: by plane. Even though Spain and Morocco are only separated by nine miles of water at the narrowest point of the Strait of Gibraltar, Barcelona is much farther away. You can take a ferry from Barcelona to Tangier on Morocco's northwest coast for a leisurely boat ride, but the trip takes over 24 hours.

Flying is the most direct route, and there are direct flights from Barcelona to Tangier, Marrakesh, Fes, Casablanca, and Nador. The other option would be to take the high-speed train from Barcelona to Malaga in the south of Spain. From Malaga, you can take a bus to the port city of Tarifa, and from Tarifa a short ferry to Tangier.

How to Get from Barcelona to Morocco

  • Flight: 2 hours, from $20
  • Ferry: 28 hours, 45 minutes, from $76

By Plane

Without a doubt, the easiest and most realistic way to get from Barcelona to Morocco is by plane. Direct flights on budget airlines like RyanAir or Vueling get you to most cities in Morocco in about two hours, and flights can be as cheap as $20 for a one-way ticket. For a comprehensive trip of Morocco, the best way to plan your trip is to book a one-way flight to Tangier in the north, travel down the country toward Marrakesh, and then fly back to Barcelona from there (or, conversely, start in Marrakesh and fly home from Tangier). You can travel through Morocco on bus routes to major cities, or rent a car in Morocco and travel around yourself.

To Tangier

Low-cost airline Vueling flies direct from Barcelona to Tangier daily in under two hours, and flights start as low as $28. It's one of Morocco's northernmost cities, and on a clear day, you can even see Spain across the Strait of Gibraltar. Tangier Airport is about 20 minutes by taxi from the city center, and taxi is the only way to travel to and from the airport.

To Marrakesh

Of the cities that make up the "tourist circuit" in Morocco, Marrakesh is the farthest south. Known for its historic medina district and massive market, Marrakesh is an obligatory stop for most visitors to Morocco. The flight from Barcelona is about two and a half hours, and low-cost airlines Vueling and RyanAir both have direct flights between the two cities starting at $25 (be aware that RyanAir charges passengers even for a carry-on bag, so take that into consideration when purchasing tickets). From the airport, you can take an express bus to the city center in about 40 minutes, or a taxi in about 15 minutes.

To Casablanca, Fes, or Nador

Tangier and Marrakesh make the most logistical sense as a starting point in Morocco for most travelers since you can easily move around between them while visiting other cities along the way. However, Casablanca, Fes, and Nador also receive direct flights from Barcelona, and one of them may be the best place for the start of your trip. Explore all of your options and compare prices, and then decide the itinerary that works best for you.

By Ferry

If you are traveling from southern Spain, then you can easily and quickly take a ferry to Tangier or another port city in Morocco. Barcelona, on the other hand, is much closer to France than Morocco, and traveling by boat is not nearly as fast. The company GNV offers ferries from Barcelona to Nador and Tangier, although the trip to both cities takes about 29 hours. But if you aren't in a hurry and you consider that the ferry ride is essentially a Mediterranean cruise, then it could be just what you're looking for.

The ferry starts at $76 for a seat, but for a trip this long it's worth paying extra to have a bed. You can reserve a single bed in a four-bed dormitory for about $90, or an interior cabin for yourself starting at $138.

Ferries from Barcelona arrive at Tangier Med port, which is 40 minutes outside of the city center by car. You'll need to pay for a taxi upon arrival to get to the city of Tangier.

By Train, Bus, and Ferry

You can't take a train from Barcelona to Morocco, but if you wanted to explore more of Spain, you could take the high-speed AVE train from Barcelona to Malaga, in the southern region of Andalusia. From there, you must travel two hours by bus or car to the town of Tarifa, which is the southernmost point of continental Europe. Once in Tarifa, there are several daily ferries to the port in Tangier City (which is located in Tangier, not like the further out Tangier Med port as with the Barcelona ferry).

If you want to go directly from Barcelona to Morocco, then this route doesn't make much sense, as it will take you much longer and cost you significantly more than taking a plane. However, if you have time to explore Malaga or southern Spain, this could be a great way to get a second trip out of your vacation.

What to See in Morocco

The "tourist circuit" through Morocco usually consists of some combination of Tangier, Casablanca, Fes, Chefchaouen, Essaouira, and Marrakesh. Depending on how much time you have, visit as many as you see fit, or explore other cities like Ouarzazate in the Sahara Desert. If you have your own vehicle, you have more freedom to explore the country. But if you stick to the most popular tourist cities, you can use buses to travel around and not worry about driving.

Was this page helpful?