01 of 04
Tarifa, Gibraltar, or Algeciras to Tangier
Tarifa to Tangier is the best ferry route to Morocco in the congested Strait of Gibraltar. There are three ports on the Spanish side (Tarifa, Algeciras, and Gibraltar) and three on the Moroccan side (Tangier, Tangier Med, and Ceuta), with four routes connecting them.
Tarifa to Tangier is the best of these as it has the most voyages per day, some of the cheapest tickets and you arrive in Tangier city itself. Tarifa is also a nicer place to visit than the other ports on the Spanish side.
As a comparison, there are three ferries per day with FRS and five with Trasmediterranea from Algeciras to Tangier Med, with most voyages in the morning. The journey takes 30 minutes but it's an hour from Tangier Med to Tangier.
Getting from Tangier to Fes takes four and half hours by train, but there are no direct trains after around 10.30am, though there are buses. Consider staying the night in Tarifa and getting an early ferry. Find more information on the Moroccan Trains Official Website and the Moroccan Buses Official Website.
02 of 04
Malaga or Almeria to Melilla
Convenient if you're already in Malaga (or making the trip from Granada), especially if you can get the overnight Trasmediterranea ferry, as this leaves you in Morocco bright and fresh for your onward travel to Fes or other cities in Morocco. Unfortunately, the day ferry leaves you inconveniently late in Melilla.
Melilla is not Morocco, but a Spanish enclave, so transport is tricky. You have to take a taxi to Nador, the nearest Moroccan city. From there, there are a couple of trains per day but your options are limited as some depart very early and some arrive very late. The bus situation is even worse.
03 of 04
Almeria to Nador or Melilla
If you're traveling from the east coast of Spain to get to Morocco, Almeria is your most convenient port. Though there is only one ferry per day (Trasmediterranea), it leaves you at a convenient time in Morocco, though getting to Almeria in time for the ferry may require a night's stay in the city.
You can also travel from Almeria to Melilla, but this leaves you not in Morocco but in a Spanish enclave. Better to arrive in Nador.
04 of 04
Ferries to Morocco: Barcelona to Tangier
If traveling from Barcelona to Morocco, you are better off flying or visiting the south of Spain before crossing to Morocco. But it is possible to take a GNV ferry all the way from Barcelona to Morocco, though the timetable is infrequent and irregular.