Trains, buses, grand taxis, rental cars, domestic flights and private transfers — every option compared with honest costs and trade-offs so you can plan the right way.
SM
Sofia Marín· Coast, North & Practical Travel Editor
Spanish travel writer based in Tangier who criss-crosses northern Morocco and the Atlantic coast by bus, train and ferry. She covers Chefchaouen, Tangier, Essaouira and the practical side of getting around. Tangier · 10+ years covering Morocco
Published 29 June 2025 Last updated 19 April 2026
Morocco has a surprisingly good public transport backbone — trains connect its biggest cities reliably, long-distance buses reach almost everywhere else, and shared grand taxis fill the gaps. The catch is that choosing wrong wastes entire travel days, and some of the most interesting places (the Dades Gorge, Chefchaouen, Essaouira, the Draa Valley) sit off the rail network entirely.
The guide below runs through every mode of transport in order of speed and comfort, with current indicative prices, honest caveats, and booking links where relevant. If you want the executive summary: trains for the main cities, Supratours or CTM buses for everything else, and a private driver-guide if your itinerary involves the south or you simply don’t want to be at the mercy of bus schedules.
Every Transport Option, Compared
Morocco offers six meaningful ways to travel between cities. Here is what each one actually costs, where it works best, and where it lets you down.
ONCF Train
Best for
Casablanca · Rabat · Fes · Marrakech corridor
Cost
From ~90–230 MAD (2nd class) per inter-city leg
Speed
Fast, punctual, comfortable
Book via
oncf.ma or at any station; book online 72 h ahead for busy weekends
The gold standard where it runs — smooth, air-conditioned, Wi-Fi on Al Boraq.
CTM / Supratours Bus
Best for
Any city pair, including routes trains don’t reach (Agadir, Ouarzazate, Essaouira)
Cost
From ~80–200 MAD; Supratours often cheaper than CTM
Speed
Slower than train; long routes can be 8–10 h
Book via
ctm.ma · supratours.ma or at bus station ticket desk
Reliable, wide coverage, reclining seats — only downside is the time.
Grand Taxi (shared)
Best for
Short hops between towns — Marrakech↔Ourika, Fes↔Meknes, Azrou↔Ifrane
Cost
Fixed per-seat fares, typically 15–60 MAD per person per hop
Speed
Departs when all 6 seats fill — can wait 30–90 min
Book via
Turn up at the grand taxi rank near the bus station; negotiate if going private
Cheap and genuinely local — patience required, no advance booking.
Rental Car
Best for
Flexible itineraries: Atlas, Draa Valley, Tafraoute, off-rail south
Cost
From ~300–600 MAD/day; fuel ~13 MAD/litre (2026 indicative)
Speed
Your own schedule — but mountain roads add time
Book via
Book in advance online; inspect car carefully and photograph all dents
Maximum freedom; requires confidence with mountain roads and city parking.
From ~350–900 MAD on Royal Air Maroc or Air Arabia Maroc
Speed
50–90 min flight vs 3–8 h by road
Book via
royalairmaroc.com — watch for flash sales
Makes sense for Dakhla or Agadir; saves little time on Casablanca–Marrakech.
Private Transfer / Driver-Guide
Best for
Multi-day itineraries, airport pickups, anywhere off the rail network
Cost
From ~800–1,800 MAD/day for a private vehicle
Speed
Door-to-door; direct routes with custom stops
Book via
Arrange in advance with a reputable operator
Highest comfort and flexibility — the smart choice for most touring itineraries.
Key ONCF Train Routes
Morocco’s national railway (ONCF) is far more comfortable than its reputation in older guidebooks. Second-class carriages are clean and air-conditioned; first class adds a reserved seat guarantee. All prices below are indicative 2nd-class one-way fares.
Route
Journey time
Frequency
2nd-class from
Casablanca → Marrakech
~3 h 30 min
Every 2 h
~145 MAD
Casablanca → Fes
~4 h
Every 2 h
~155 MAD
Casablanca → Rabat
~1 h (Al Boraq: 38 min)
Frequent
~50 MAD
Rabat → Tangier
~2 h 10 min (Al Boraq)
Every 2 h
~100 MAD
Fes → Tangier
~4 h 30 min
Several daily
~130 MAD
Prices indicative and subject to change. Book at oncf.ma. Al Boraq high-speed fares on the Tangier–Casablanca corridor are priced separately and run slightly higher.
Cities the Train Doesn’t Reach
Morocco’s rail network is excellent but geographically limited. These major destinations have no train connection at all — you need a bus, taxi or private vehicle:
Chefchaouen: Bus from Fes (~4 h) or Tangier (~3 h). No train.
Essaouira: Supratours from Marrakech (~3.5 h). ONCF connection.
Agadir: CTM/Supratours from Casablanca (~8 h) or domestic flight.
Ouarzazate: Bus from Marrakech (~5 h) or private 4×4 via Tizi n'Tichka.
Merzouga (Sahara): No bus direct; shared taxi from Rissani, or private from Fes/Marrakech.
Dades / Todra Gorge: Only reachable by rental car, grand taxi chain, or private tour.
Practical Tips Before You Go
Book trains early on holiday weekends
Casablanca–Marrakech trains sell out 48 hours in advance around public holidays and Eid. The ONCF app and website both sell tickets with 30-day advance booking.
Agree fares before boarding any taxi
Neither petit taxis on short city runs nor grand taxis on intercity routes are obliged to use meters outside Casablanca and Rabat. Always confirm the price — in dirhams — before the door closes.
Carry small change for buses
City buses and some local CTM offices struggle with large notes. A supply of 10- and 20-MAD notes avoids friction at departure.
Mountain road timing matters
The Tizi n'Tichka and Tizi n'Test passes over the High Atlas can be closed by snow November–March. Check conditions before setting out, and avoid driving them in the dark — unmarked bends and wandering livestock are the norm.
Supratours + ONCF tickets can be bought as one
On certain Supratours routes, your ONCF train ticket is valid on the connecting bus leg. Ask when booking at the station desk.
Car hire in Morocco requires a credit card (not debit)
All major rental agencies hold a security deposit on the card used at pickup. Debit cards are rejected at most counters. Budget for a €200–500 block on your card during the rental period.
Rough Cost Snapshot (per person, one way)
Train (2nd class)
Casa–Marrakech ~145 MAD
Fes–Casa ~155 MAD
Bus (CTM/Supratours)
Casa–Agadir ~150 MAD
Mrk–Essaouira ~90 MAD
Grand taxi (shared seat)
Fes–Meknes ~25 MAD
Mrk–Ourika ~15 MAD
All fares are indicative and subject to change. Exchange rate used: 1 USD ≈ 10 MAD (2026 approximation).
When a Private Driver-Guide Makes Sense
If your Morocco itinerary stays on the Casablanca–Fes–Marrakech axis and you have time to spare, public transport is perfectly viable and genuinely interesting. But the moment you want to include the Sahara, the gorges, Chefchaouen, or Essaouira — let alone combine several — the logistics get complicated fast. Shared taxis don’t run to timetables, connections require multiple changes, and there is no single ticket that covers a multi-day route.
A private driver-guide changes the calculation entirely. Your pick-up is wherever you’re staying, you can stop at viewpoints the bus doesn’t, your guide knows which mechanics are open on Sunday in Midelt, and multi-day itineraries can be planned end-to-end without any of the wait-and-connect stress. It costs more per kilometre than a CTM ticket — but so does not having to decode a Moroccan bus timetable at midnight in a town where nothing is in English.
Morocco Transport FAQs
Is it easy to travel by train in Morocco?
Very easy on the main axis: Tangier – Rabat – Casablanca – Fes – Marrakech. ONCF trains are punctual, air-conditioned, and now include the Al Boraq high-speed service on the Tangier–Casablanca leg, cutting that journey to about 2 hours 10 minutes. Buy tickets on oncf.ma up to 30 days in advance — second-class seats are comfortable and affordable. The limitation is reach: trains do not serve Agadir, Essaouira, Ouarzazate, Chefchaouen or any of the south, so you need another mode for those.
What is the difference between a grand taxi and a petit taxi in Morocco?
Petit taxis (usually small Dacia Logans, colour-coded by city) are licensed for trips within city limits only — they're metered or use a fixed short-distance tariff. Grand taxis are larger shared Mercedes sedans that carry up to six passengers between towns. They depart from designated ranks (usually near the bus station) and leave when all seats are filled. You can also hire the whole grand taxi privately — expect to pay for all six "seats" — which is faster but costs roughly 4–6× the per-seat price. Grand taxis don't use meters, so agree the fare before you get in.
Is renting a car in Morocco safe?
Motorway driving is fine — the A1–A7 network between major cities is modern, well-signed, and has petrol stations. Mountain roads (the Tizi n'Tichka over the High Atlas, the Dades Gorge road) are surfaced but narrow, with steep drops and no guard rails in places. City driving — especially parking inside Marrakech or Fes medina — is impractical and unnecessary. If you rent, pick up at the airport after flying in, use it for the open road, and park outside medinas. Always inspect the car on pickup and photograph every scratch; some local operators are creative with damage claims.
How do I book ONCF trains in Morocco?
The simplest method is oncf.ma — the official website — which accepts Visa and Mastercard. You can print your ticket or show it on your phone. Booking opens 30 days before travel; popular weekend trains between Casablanca and Marrakech fill fast, so book as soon as you know your dates. The Al Boraq TGV tickets on the Tangier–Casablanca–Rabat route must also be booked in advance — walk-up seats are rarely available. Alternatively, buy at any ONCF station ticket desk, though queues can be long.
How much does a CTM bus cost in Morocco?
A CTM ticket from Marrakech to Agadir is around 120–160 MAD (indicative); Casablanca to Fes is around 110–140 MAD; Marrakech to Essaouira around 80–100 MAD. Supratours tends to be 10–20% cheaper for equivalent routes and is particularly convenient because it connects directly to ONCF train stations, so you can combine a train leg with a bus leg on one journey. Both operators have reclining seats, luggage holds and fixed departure times — book at least a day ahead on busy routes.
Is Supratours bus reliable in Morocco?
Yes — Supratours (operated by ONCF) is the most reliable long-distance bus option after CTM. It was originally designed to extend the rail network to cities the train doesn't reach, so you'll find its stops co-located with or near ONCF stations in Marrakech, Casablanca and Fes. Departure times are generally honoured; breakdowns are uncommon. The Marrakech–Essaouira run is particularly popular with travellers and departs multiple times daily. Book online at supratours.ma or at the station window.
Are there domestic flights between Morocco cities?
Yes, though they are worth it on only a handful of routes. Royal Air Maroc and Air Arabia Maroc operate Casablanca–Agadir (~1 h vs 8 h by bus), Casablanca–Marrakech (~50 min vs 3.5 h by train — not worth it), and Casablanca–Dakhla (~2.5 h vs 2+ days overland — very much worth it). Add airport transfer time and check-in to your flight total before assuming it's faster. Prices range from around 350 MAD for a sale fare to 900 MAD+ at short notice. Book on royalairmaroc.com or through a price aggregator.
Plan it with a local expert
Travel Morocco with Serenity Morocco Tours
Crafting extraordinary journeys through Morocco's timeless landscapes. 100% private journeys, handcrafted around you.
ONMT Licensed Travelife Sustainability Partner 100% private tours since 2018