The average bus between Safi and Marrakech (Station) takes 8h 48m and the fastest bus takes 6h 30m. The bus service runs several times per day from Safi to Marrakech (Station). The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Buses run 3 times a day between Safi and Marrakech (Station). The earliest departure is at 11:15 AM in the morning, and the last departure from Safi is at 8:40 PM which arrives into Marrakech (Station) at 10:00 AM. All services require a transfer at Essaouira and take an average of 8h 48m. The schedules shown below are for the next available departures.

7h 15m • 1 change

6h 30m • 1 change
Arrives next day

13h 20m • 1 change

7h 15m • 1 change

6h 30m • 1 change
Arrives next day

13h 20m • 1 change

7h 15m • 1 change

6h 30m • 1 change
Arrives next day

13h 20m • 1 change

7h 15m • 1 change

6h 30m • 1 change
Arrives next day

13h 20m • 1 change
Want to know about travelling from Safi to Marrakech (Station)? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct bus from Safi to Marrakech (Station). However, there are services departing from Safi station and arriving at Marrakech (Station) station via Essaouira. The journey, including transfers, takes approximately 8h 48m.
Safi to Marrakech (Station) bus services, operated by CTM, depart from Safi station.
Safi to Marrakech (Station) bus services, operated by CTM, arrive at Marrakesh station.
The distance between Safi and Marrakech (Station) is 137 km. The road distance is 309 km.
You can take a bus from Safi to Marrakech (Station) via Essaouira and Marrakesh in around 7h 7m.