Casablanca to Marrakech: Train, Bus, Taxi & Private Transfer
The distance between Casablanca and Marrakech is about 240 km. Four transport options cover this route — train, bus, shared grand taxi, and private transfer — and they differ significantly in price, comfort, and convenience.
This guide breaks down each option with current prices, journey times, and practical booking advice so you can choose what fits your trip.
| Quick Summary | |
|---|---|
| Distance | ~240 km |
| Fastest option | Train — ~2h 40min |
| Cheapest option | Train or bus — from ~49 MAD |
| Most flexible | Private transfer — door to door |
| Best for groups | Private transfer or shared grand taxi |
Option 1: Train (Recommended)
The ONCF train is the most practical way to travel between Casablanca and Marrakech for most visitors. It is faster than the bus, significantly cheaper than a private taxi, and runs on a regular schedule throughout the day.
Key details
- Journey time: 2h 40min to 3 hours
- Frequency: Roughly every hour throughout the day
- Departure station: Casa Voyageurs (Casablanca)
- Arrival station: Gare de Marrakech
- Price: Second class from ~49–139 MAD. First class from ~120–200 MAD depending on date and how far in advance you book.
[VERIFY CURRENT FARES AND TIMETABLE at oncf-voyages.ma before traveling — prices vary by date and booking window]
How to book
Book online at oncf-voyages.ma or via the ONCF mobile app. Booking at least a few days ahead is recommended on weekends and during Moroccan public holidays, as trains do sell out.
Practical tip: If the ONCF website is not accepting your foreign card, use the orange automated kiosks at the station — these tend to be more reliable for international payment cards than the main ticket counters.
Coming from Casablanca Airport (CMN)?
The airport has its own ONCF station beneath Terminal 1. Take the airport train to Casa Oasis or Casa Voyageurs, then change to the Marrakech service. Allow at least 60–90 minutes for the connection and platform change. [VERIFY CURRENT CONNECTION DETAILS at oncf-voyages.ma]
Option 2: Bus (CTM or Supratours)
The bus is a reliable and comfortable budget alternative. CTM and Supratours are the two most reputable operators on this route — both run air-conditioned coaches and have online booking.
Key details
- Journey time: 3h 30min to 4 hours (traffic dependent)
- Price: Roughly 80–220 MAD depending on the operator and service type
- Main operators: CTM (ctm.ma) and Supratours (supratoursbus.com)
[VERIFY CURRENT BUS PRICES AND SCHEDULE at ctm.ma or supratoursbus.com]
When the bus makes sense
- You are on a tight budget and the train is sold out
- You want to travel at a time when no train seats are available
- You prefer a bus station location over the train station
The train is generally faster and more comfortable for a similar price — book the bus when the train doesn’t work for your schedule.
Option 3: Shared Grand Taxi
Grand taxis are Morocco’s traditional intercity shared taxi. They run on fixed routes and leave when the vehicle is full — typically 6 passengers, which can be cramped.
Key details
- Journey time: 3 to 3.5 hours (plus wait time at the rank)
- Price: Per seat — always negotiate and agree on price before departure
- Departure: Casablanca grand taxi rank
Important notes
Grand taxis are affordable but unpredictable for departure time. If you need to leave at a fixed hour, you can pay for all remaining empty seats (koursi) so the driver departs immediately — confirm the total price before agreeing.
Luggage space is limited. Best suited for solo travelers or pairs with flexible timing.
Option 4: Private Transfer
A pre-booked private car or minivan picks you up directly from your accommodation or the airport and drops you at your destination in Marrakech — no station changes, no waiting.
Key details
- Journey time: 2.5 to 3 hours
- Price: Approximately 1,150–1,700 MAD (~€110–€160) for a standard vehicle. Larger vans cost more.
- Booking: Book in advance through a reputable transfer company or your hotel
[VERIFY CURRENT PRIVATE TRANSFER PRICES — rates vary by provider]
When private transfer makes sense
- You are travelling as a family or group (per-person cost becomes competitive)
- You have heavy luggage and want door-to-door service
- You are arriving at Casablanca Airport and want to go directly to Marrakech
Comparison Table
| Train | Bus | Grand Taxi | Private Transfer | |
|---|---|---|---|---|
| Time | 2h 40min–3h | 3h 30min–4h | 3–3.5h+ | 2.5–3h |
| Price (per person) | 49–200 MAD | 80–220 MAD | Negotiable | ~1,150–1,700 MAD total |
| Comfort | High | Moderate–High | Low–Moderate | High |
| Flexibility | Fixed schedule | Fixed schedule | Waits to fill | Door to door |
| Best for | Most travelers | Budget, backup | Solo budget | Families, groups |
Practical Tips
Book your train in advance. Trains fill on weekends and during public holidays. Same-day availability is usually fine on weekdays.
Marrakech train station is well-placed. The Gare de Marrakech sits in Gueliz, about 2 km from the medina. Petit taxis outside cost roughly 15–20 MAD to the medina with the meter.
Bus and train stations are in different locations. CTM and Supratours depart from their own terminals — check the exact departure address when booking, not just the city.
If arriving late at night: The train is preferable to a shared grand taxi — the train schedule is predictable and the station environment is more comfortable.
Frequently Asked Questions
How long does it take to get from Casablanca to Marrakech? By train: 2 hours 40 minutes to 3 hours. By bus: 3.5 to 4 hours. By private car or transfer: approximately 2.5 to 3 hours depending on traffic.
What is the cheapest way to travel from Casablanca to Marrakech? The train (second class, booked in advance) and CTM bus offer the lowest per-person prices, starting from around 49–80 MAD.
Do I need to book the train in advance? Strongly recommended for weekends and peak season. Weekday trains usually have same-day availability, but prices are lower when booked ahead.
Can I go from Casablanca Airport directly to Marrakech? Yes — take the ONCF airport train to Casa Voyageurs and change for the Marrakech service. A private transfer provides a fully direct door-to-door option from the airport.
Is there a direct train from the airport to Marrakech? No direct service — you change at Casa Voyageurs. A private transfer is the only truly direct option from Casablanca Airport to Marrakech.
For more on what to do once you arrive, see our Marrakech things to do guide and our Casablanca travel guide if you are spending time in the city first.

