A practical guide to Morocco's transport options — from the ONCF train network connecting major cities to shared grand taxis, CTM buses, and rental cars for the south.
ONCF Trains: The Best Way Between Major Cities
Morocco's national rail network, ONCF, is reliable, comfortable, and excellent value between the cities it connects. The main line runs from Casablanca and Rabat in the north-west through to Fes and Meknes, with a separate line south from Casablanca to Marrakech. Casa Voyageurs to Rabat takes around 45 minutes and costs approximately 55 MAD in second class. Casa to Fes is a 3.5-hour journey at around 155 MAD. Casa to Marrakech takes roughly 3 hours and costs around 95 MAD. First class is 30-40 percent more expensive and offers larger seats and air conditioning that actually works — worth the extra on a longer journey in summer. Tickets can be booked up to 30 days in advance on oncf-voyages.ma, and booking ahead is strongly recommended for Friday evenings and Sunday afternoons when Moroccans are travelling between cities for the weekend.
CTM and Supratours: Long-Distance Buses
For routes the train does not cover — and Morocco's rail network has significant gaps — the quality bus companies are the answer. CTM (Compagnie de Transports au Maroc) is Morocco's premium bus operator: air conditioned coaches, luggage stored in a compartment underneath, punctual departures, and tickets available online at ctm.ma. Marrakech to Agadir takes around 4 hours and costs approximately 100 MAD. Fes to Chefchaouen is a 4-hour journey at around 85 MAD. Supratours is an ONCF subsidiary that covers routes the trains miss, particularly Marrakech to Essaouira, a 3-hour journey costing around 80 MAD. Both CTM and Supratours are a significant step above the local bus companies that also operate these routes — the price difference is small and the comfort difference is considerable.
Key Routes and Prices (2025)
55 MAD
Casa Voyageurs to Rabat by train (2nd class, 45 min)
155 MAD
Casa Voyageurs to Fes by train (2nd class, 3.5 hrs)
100 MAD
Marrakech to Agadir by CTM bus (4 hrs)
80 MAD
Marrakech to Essaouira by Supratours (3 hrs)
300-500 MAD
Small rental car per day
The CTM from Fes to Chefchaouen left exactly on time, the seats were comfortable, and the driver announced stops in three languages. I was genuinely surprised by how well it all worked.
Grand Taxis and Petit Taxis
Grand taxis are the shared long-distance taxis that connect towns and cities not well served by rail or bus. They are large Mercedes saloons that typically carry six passengers and leave when full — which can mean waiting 20-40 minutes at busy departure points. Grand taxis are often cheaper than CTM but less comfortable and usually without air conditioning. The critical rule: agree on the full price for the car before you get in, not per seat, and confirm whether you are paying for a shared taxi or a private charter. On routes popular with tourists, drivers sometimes quote as if you are chartering all six seats unless you make clear you are sharing. Petit taxis are the metered city taxis, colour-coded by city: red in Marrakech, blue in Rabat, beige in Casablanca. Always insist on the meter. If the driver claims it is broken, get out and take the next one.
Transport Tips by Situation
- City to city (on the rail network): take the ONCF train — book online in advance
- City to city (off the rail network): CTM or Supratours bus — book online at ctm.ma
- Marrakech to Essaouira: Supratours is the standard option, departs from the Supratours office near the train station
- Fes to Chefchaouen: CTM direct — do not take a grand taxi for this route
- Exploring the Atlas or deep south: rental car — gives you freedom the buses cannot match
- Getting around inside a city: petit taxi — always insist on the meter being used
- Short town-to-town trips in rural areas: grand taxi — agree the price before boarding
Rental Cars: What to Know
A rental car transforms travel in southern Morocco and the Atlas — the landscapes between towns are as interesting as the destinations. An international driving licence is required by some agencies for drivers under 30, though a standard EU or US licence is accepted by most. Expect to pay 300-500 MAD per day for a small car from a reputable agency. Road conditions on main routes are good; mountain piste roads in the Atlas require more care. Book directly with local agencies rather than international comparison sites for the best rates.



