· Travel · 8 min read
How to Get Between Cities in Morocco: Your Complete Route-by-Route Guide
Learn how to get between cities in Morocco with ease. Compare trains, buses, and private transfers for every major route including Marrakech, Fes, Chefchaouen, and Tangier.

Planning a trip around Morocco means tackling one key question: how to get between cities in Morocco efficiently. With ancient imperial cities, the blue pearl of Chefchaouen, the Atlantic coast, and the Sahara Desert all competing for your attention, understanding the connections between them is essential.
Morocco has an excellent transport network, but not every city is connected by train, and bus schedules can be limiting. This Morocco city hopping guide covers every major route with practical details — travel time, cost, and tips — so you can plan your multi-city itinerary with confidence.
Morocco Train Routes: The Backbone of City Hopping
Morocco’s rail network, operated by ONCF, connects the country’s economic and cultural hubs. It is the most comfortable way to travel between the cities it serves.
Al Boraq — Africa’s High-Speed Train This is the crown jewel of Morocco train routes. Running at 320 km/h, it connects Tangier to Casablanca in just over 2 hours, with stops at Kenitra and Rabat. First-class carriages offer power outlets, onboard service, and spacious seating.
Conventional Train Network The regular train network links Casablanca, Rabat, Meknes, Fes, Marrakech, and Kenitra. Key journey times:
- Casablanca to Marrakech: 3 hours
- Casablanca to Fes: 4 hours
- Fes to Marrakech (via Casablanca): 7-8 hours
Trains do not reach Chefchaouen, Essaouira, the Sahara Desert, or the Atlas Mountains. For those destinations, you will need buses or private transport.
Travel from Marrakech to Fes
This is one of the most common routes in Morocco. The straight-line distance is modest, but the Atlas Mountains sit between them, so the journey takes time.
By Train: Take a train from Marrakech to Casablanca (3 hours), then transfer to the Fes-bound train (4 hours). Total time: 7-8 hours. First-class tickets cost around 250 MAD.
By Bus: CTM operates a direct daily service taking about 8-9 hours. Tickets cost 180-250 MAD. Book ahead in peak season.
By Air: Royal Air Maroc flies Marrakech to Fes in about 1 hour. With airport transfers and check-in, it takes about 4 hours door-to-door.
By Private Tour: The most rewarding option. A 3-4 day travel from Marrakech to Fes via the desert turns a long transfer into an unforgettable experience. You cross the High Atlas, visit Ait Ben Haddou, explore the Todra and Dades Gorges, spend a night in Merzouga, and arrive in Fes enriched by the journey.
How to Get from Fes to Chefchaouen
Chefchaouen, the blue pearl of Morocco, has no train station and no airport. The only options are road-based.
By Bus: CTM runs 3-4 daily buses from Fes to Chefchaouen. The journey takes about 4 hours and costs 70-90 MAD. The bus station in Chefchaouen is a 10-minute walk from the medina entrance.
By Grand Taxi: Shared Mercedes taxis leave from the CTM bus station area. They cost around 80-100 MAD per seat and leave when full. Less comfortable than the bus but more flexible.
By Private Transfer: A private car takes 3.5-4 hours and costs 800-1200 MAD. The driver picks you up from your accommodation and drops you at your riad door — worth it if you are traveling as a group or have luggage.
How to get from Fes to Chefchaouen is straightforward once you know your options. The CTM bus is the best balance of cost and comfort.
Connecting Tangier, Chefchaouen, and Northern Morocco
The northern circuit is one of Morocco’s most rewarding, combining Tangier’s cosmopolitan energy with Chefchaouen’s serene blue streets.
Tangier to Chefchaouen: CTM buses run 3-4 times daily, taking about 2.5-3 hours (80-100 MAD). Grand taxis are also available. A private transfer takes 2 hours.
Tangier to Fes: The train is excellent here. The ride takes about 3.5-4 hours on the direct service. First class costs around 200 MAD.
Tangier to Marrakech: The Al Boraq high-speed train to Casablanca (2 hours) plus a connection to Marrakech (3 hours) gives a total of about 5.5 hours. Alternatively, domestic flights take 1.5 hours.
Marrakech to the Sahara Desert
The drive from Marrakech to Merzouga (the most popular Sahara entry point) takes about 9-10 hours. This is not a journey you want to do as a single day trip.
By Tour: The vast majority of travelers book a multi-day Morocco bus travel option — actually a private or small-group tour. The classic 3-day itinerary crosses the Atlas Mountains, visits Ait Ben Haddou, explores the Dades Valley, and arrives at Merzouga for a camel trek and night in a desert camp.
By Bus: Supratours runs a bus from Marrakech to Merzouga, but it requires a connection and takes over 12 hours. Not recommended for comfort or efficiency.
By Private Transfer: You can hire a driver for around 2500-3000 MAD one way. This gives you flexibility to stop at viewpoints and attractions along the route.
Marrakech to Essaouira
The Atlantic coast is just 2.5-3 hours from Marrakech, making it a popular side trip.
By Bus: Supratours runs frequent buses from Marrakech to Essaouira (3 hours, 90 MAD). CTM also operates on this route. Both arrive at the bus station on the edge of town.
By Private Transfer: About 2.5 hours, cost 600-800 MAD. Recommended if you are short on time or traveling with luggage.
By Grand Taxi: Available but less common than the bus. Negotiate the price before departing.
Casablanca to Marrakech
The most heavily traveled route in Morocco. Trains run every 30-60 minutes, making this the easiest connection in the country.
By Train: 3 hours, first class around 150 MAD. Book ahead online for peak times. The train station in Marrakech is a short taxi ride from Jemaa el-Fnaa square.
By Bus: CTM and Supratours both operate this route in about 3.5 hours. Trains are generally faster and more comfortable.
Combining Imperial Cities: Rabat, Meknes, Fes, Marrakech
Morocco’s four imperial cities form a logical loop, especially when combined with the train network.
Rabat and Meknes: The train from Rabat to Meknes takes about 1.5 hours. Easy for a day trip.
Meknes and Fes: Just 30-40 minutes by train. You can visit the Roman ruins of Volubilis on the way by hiring a grand taxi from Meknes station.
Fes and Marrakech: As covered above, the direct scenic route via the desert is the most memorable approach.
A classic combining Moroccan cities itinerary is: Casablanca (arrival) → Rabat (1 day) → Meknes (half day) → Fes (2 days) → Desert tour (3 days) → Marrakech (2 days). This route uses trains for the first half and a private tour for the desert leg.
Private Transfers vs. Public Transport: Decision Guide
Choosing between public transport and private transfers depends on your priorities.
Choose public transport (trains and buses) when:
- You are on a tight budget
- You are traveling solo and want to meet people
- Your route is covered by the train network
- You have plenty of time
Choose a private transfer or guided tour when:
- You want door-to-door service
- You are short on time
- You are traveling as a family or group
- Your route includes remote areas without train or bus service
- You want to stop for photos and spontaneous discoveries
- Comfort and flexibility matter more than budget
Combining both is the smartest approach for most travelers. Use trains for long hauls between major cities (Casablanca to Marrakech, Tangier to Fes) and private drivers or tours for the desert, Atlas Mountains, and Chefchaouen.
Practical Tips for Multi-City Morocco Travel
- Book train tickets online at ONCF.ma to avoid queues and sold-out services, especially on the Al Boraq high-speed train.
- CTM bus tickets can be booked online or at the station. Book a day ahead for popular routes like Fes to Chefchaouen.
- Start early — morning departures give you the full day at your destination and more transport options if something goes wrong.
- Cash is king — most bus stations and grand taxis operate in cash. Keep small bills handy.
- Allow buffer time — Moroccan transport is generally reliable but delays happen. Do not schedule tight connections.
- Pack light — if you are switching between trains, buses, and taxis, a large suitcase becomes a burden. A 40-liter backpack is ideal.
- Negotiate grand taxi fares before getting in. Ask locals or your accommodation for the standard rate.
Conclusion
Learning how to get between cities in Morocco is the key to unlocking everything this incredible country has to offer. The transport network is better than most travelers expect — trains connect the major cities efficiently, buses reach the hidden gems, and private transfers offer comfort and flexibility where you need it most.
The best approach? Mix public transport for straightforward city connections and private tours for the spectacular desert and mountain routes. This gives you the efficiency of Morocco’s excellent train network with the unforgettable experiences that only a guided journey through the Atlas and Sahara can provide.
If you want to experience Morocco’s cities and landscapes without worrying about logistics, our multi-day private tours handle every transfer while you enjoy the journey.
Check out our 4-Day Trip from Marrakech to Fes via Dades & Merzouga — the perfect way to connect Marrakech and Fes through the Atlas Mountains, Ait Ben Haddou, and the Sahara dunes.
For a more relaxed pace, our 5-Day Trip from Marrakech to Fes adds extra time in the desert and includes a visit to the stunning Todra Gorge.
Frequently Asked Questions
What is the fastest way to get between cities in Morocco?
The Al Boraq high-speed train is the fastest option, connecting Tangier to Casablanca in just over 2 hours. For most other routes, the fastest option is a private transfer or domestic flight. Trains and CTM buses are reliable for routes they cover, while grand taxis offer flexibility for shorter distances.
How do I get from Marrakech to Fes?
You have several options. The train via Casablanca takes about 7-8 hours. CTM and Supratours buses run direct services in about 8-9 hours. Domestic flights take 1 hour. The most scenic option is a 3-4 day private tour through the Atlas Mountains, Ait Ben Haddou, and the Sahara Desert, arriving in Fes via Merzouga.
Can I take a train from Fes to Chefchaouen?
No, Chefchaouen has no train station. The best way to get from Fes to Chefchaouen is by CTM bus (about 4 hours) or a private transfer. Grand taxis are also available for a more flexible schedule. The bus drops you at the main square, while a private driver takes you directly to your riad.
What is the best way to combine Marrakech, the desert, and Fes in one trip?
The best way is a multi-day private tour from Marrakech to Fes via the desert. This classic route crosses the High Atlas Mountains, visits Ait Ben Haddou Kasbah, explores the Dades and Todra Gorges, and includes a night camping in the Merzouga Sahara dunes before arriving in Fes. It turns transport between cities into the highlight of your trip.
