The best way to reach Morocco from Andalucía is by fast ferry either from Algeciras or from Tarifa; both villages can be reached by public bus. The fast ferry journey takes from 45 minutes to 70 minutes depending of the port you are leaving.
FROM SEVILLE TO MOROCCO
To Algeciras from Seville you have 2 bus companies: Transportes Generales Comes and Linesur. We strongly recommend you to use Linesur (read more) as it has more frequency of buses (8 departures a day) especially for the journey back to Seville, and also they offer discounts to students. Tel: +34 954 98 82 22. Prado de San Sebastian Bus Station. The journey takes about 2 hours and a half. The bus drop you off at the port of Algeciras, what makes it an easy way to reach Morocco from Seville.
The price of a return ticket to Algeciras from Seville costs around 30 €. We recommend you to buy an open return as delays are regular in the fast ferries lines. To Tarifa from Seville, once you are at Algeciras port there is a free connection bus Algeciras to Tarifa provided by the fast ferry line Tarifa - Tangiers. This bus leaves the port of Algeciras one hour before the departure of Tarifa´s fast ferry. So if you are travelling from Tarifa to Morocco, make sure your selected bus arrives to Algeciras with plenty of time to get the connection bus.
Transportes Generales Comes runs this route, but they only have 3 buses a day and the combination with the ferries is not the best.
FROM MADRID TO MOROCCO
You can fly with "Easy Jet" to Tangier. It leaves every day from Madrid Barajas Terminal 1, and the journey does not take more than 45 minutes flight.
Book your flight with more than 2 months and you will get a very good fare around 50 € a return flight ticket.
Iberia also has a daily flight shared with Royal Air Maroc.