• Our partners include:

  • Booking.com
  • Skyscanner
  • Airbnb
  • Expedia
  • Uber
  • Rentalcars.com

There are 4 ways to get from Marrakesh to Safi by train, taxi, car or rideshare

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Train  •  4 h

  1. Take the train from Marrakech to Ben Guerir
  2. Take the train from Ben Guerir to Safi

$9 - $20

3 alternative options

Taxi  •  2 h 38 min

  1. Take a taxi from Marrakesh to Safi 94.6 miles

$140 - $170

Drive  •  2 h 38 min

  1. Drive from Marrakesh to Safi 94.6 miles

$14 - $21

Grand Taxi  •  5 h 59 min

  1. Take the Grand Taxi from Marrakesh to Essaouira
  2. Take the Grand Taxi from Essaouira to Safi

$16 - $33

Questions & Answers

The cheapest way to get from Marrakesh to Safi is to train which costs MAD 85 - MAD 200 and takes 4 h.

More details

The quickest way to get from Marrakesh to Safi is to taxi which costs MAD 1,300 - MAD 1,600 and takes 2 h 38 min.

More details

No, there is no direct train from Marrakesh to Safi. However, there are services departing from Marrakech and arriving at Safi via Ben Guerir. The journey, including transfers, takes approximately 4 h.

More details

The distance between Marrakesh and Safi is 138 km. The road distance is 151.4 km.

Get driving directions

The best way to get from Marrakesh to Safi without a car is to train which takes 4 h and costs MAD 85 - MAD 200.

More details

It takes approximately 4 h to get from Marrakesh to Safi, including transfers.

More details

Marrakesh to Safi train services, operated by Moroccan Railways (ONCF), depart from Marrakech station.

More details

Marrakesh to Safi train services, operated by Moroccan Railways (ONCF), arrive at Safi station.

More details

Yes, the driving distance between Marrakesh to Safi is 151 km. It takes approximately 2 h 38 min to drive from Marrakesh to Safi.

Get driving directions

There are 21+ hotels available in Safi. Prices start at $37 USD per night.

More details

Map of how to get from Marrakesh to Safi.
Launch map view
  • Distance: 86.4 miles
  • Duration: 4 h

What companies run services between Marrakesh, Morocco and Safi, Morocco?

You can take a train from Marrakesh to Safi via Ben Guerir in around 4 h.

Train operators
Moroccan Railways (ONCF)
Email
ketary@oncf.ma
Website
oncf.ma
Train from Marrakech to Ben Guerir
Ave. Duration
52 min
Frequency
Every 4 hours
Estimated price
$3 - $8
Schedules at
oncf.ma
2nd Class
$3 - $5
1st Class
$5 - $8
Train from Ben Guerir to Safi
Ave. Duration
2 h 8 min
Frequency
Once daily
Estimated price
$6 - $13
Schedules at
oncf.ma
2nd Class
$6 - $8
1st Class
$8 - $13
Other operators
Grand Taxis
Email
info@HeyMorocco.com
Website
heymorocco.com
Rideshare from Marrakesh to Essaouira
Ave. Duration
2 h 44 min
Frequency
Hourly
Estimated price
$9 - $23
Schedules at
heymorocco.com
Rideshare from Essaouira to Safi
Ave. Duration
2 h 45 min
Frequency
Hourly
Estimated price
$7 - $11
Schedules at
heymorocco.com
Taxi from Marrakesh to Safi
Ave. Duration
2 h 38 min
Estimated price
$140 - $170
Tangier Taxi
Website
tangiertaxi.com
Taxi Verts
Phone
+212 524409494

Want to know more about travelling around the world?

Rome2rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including Flying into Beijing?, Getting to Rome from the airport and Is ride-sharing platform BlaBlaCar right for you? - to help you get the most out of your next trip.

More Questions & Answers

Check out Blablacar's carpooling service for rideshare options between Marrakesh and Safi. A great option if you don't have a driver's licence or want to avoid public transport.

Read Rome2rio's guide to Blablacar