Marrakech to Fes

Marrakech and Fes, Morocco's two great medinas, are about 530 km apart by road. Direct trains take around 7 hours; many travellers instead go via the Sahara.

Distance by roadAbout 530 km
Direct trainAbout 7 hours
BusAbout 8–9 hours
Via the Sahara3-day tour

By train

Direct ONCF trains run several times a day between Marrakech and Fes, taking around 7 hours via Casablanca, Rabat and Meknes. First class is comfortable for the long journey.

By road through the Middle Atlas

Driving takes about 8 hours via Beni Mellal and the Middle Atlas. The road passes Ifrane, a town of Alpine-style chalets, and cedar forests near Azrou where Barbary macaques live.

Via the Sahara

Many visitors combine the journey with the desert: a 3-day tour from Marrakech over the High Atlas to Merzouga, ending in Fes. See Marrakech to Merzouga.

Plan Your Trip

Affiliate links: we may earn a commission if you book, at no extra cost to you.

Frequently Asked Questions

How long is the train from Marrakech to Fes?

Around 7 hours on a direct train.

Are there flights from Marrakech to Fes?

Direct flights are rare; most go via Casablanca, so the train is usually as quick.

What is the best way from Marrakech to Fes?

If you have time, a 3-day desert tour via Merzouga ending in Fes. Otherwise the direct train.