There are 7 ways to get from Milan to Safi by train, plane, or bus
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train to Milano Malpensa Airport, fly to Marrakech, train
best- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Marrakech (RAK)plane MXP - RAK
- Take the train from Marrakech to Ben Guerirtrain
- Take the train from Gare de Ben Guerir to Gare ONCF de Safitrain
10h 58mMAD 407–3,789Train to Milano Malpensa Airport, fly to Mohammed V International Airport, train
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Mohammed V International Airport (CMN)plane MXP - CMN
- Take the train from Oasis to Gare ONCF de Safitrain
12h 11mMAD 980–5,834Bus to Il Caravaggio International Airport, fly to Marrakech, train
- Take the bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airportbus
- Fly from Il Caravaggio International Airport (BGY) to Marrakech (RAK)plane BGY - RAK
- Take the train from Marrakech to Ben Guerirtrain
- Take the train from Gare de Ben Guerir to Gare ONCF de Safitrain
11hMAD 1,254–7,977Fly Milan Linate Airport to Marrakech, train
- Fly from Milan Linate Airport (LIN) to Marrakech (RAK)plane LIN - RAK
- Take the train from Marrakech to Ben Guerirtrain
- Take the train from Gare de Ben Guerir to Gare ONCF de Safitrain
12h 26mMAD 1,220–4,054Bus to Il Caravaggio International Airport, fly to Mohammed V International Airport, train
- Take the bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airportbus
- Fly from Il Caravaggio International Airport (BGY) to Mohammed V International Airport (CMN)plane BGY - CMN
- Take the train from Oasis to Gare ONCF de Safitrain
12h 18mMAD 1,037–6,022Train to Turin Caselle Airport, fly to Marrakech, train
- Take the train from Milano Centrale to Torino Porta di Susatrain
- Fly from Turin Caselle Airport (TRN) to Marrakech (RAK)plane TRN - RAK
- Take the train from Marrakech to Ben Guerirtrain
- Take the train from Gare de Ben Guerir to Gare ONCF de Safitrain
11h 38mMAD 1,207–3,663Bus to Il Caravaggio International Airport, fly to Rabat-Salé, train
- Take the bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airportbus
- Fly from Il Caravaggio International Airport (BGY) to Rabat-Salé (RBA)plane BGY - RBA
- Take the train from Rabat Agdal to Ben Guerirtrain
- Take the train from Gare de Ben Guerir to Gare ONCF de Safitrain
12h 55mMAD 1,317–8,092
Milano Malpensa Airport (MXP) to Marrakech (RAK) flights
Comparing Your Travel Options
The cheapest way to get from Milan to Safi is to train and fly which costs MAD 400 - MAD 3,800 and takes 10h 58m.
The fastest way to get from Milan to Safi is to train and fly which takes 10h 58m and costs MAD 400 - MAD 3,800.
The distance between Milan and Safi is 2392 km.
It takes approximately 10h 58m to get from Milan to Safi, including transfers.
Safi is 1h behind Milan. It is currently 12:03 AM in Milan and 11:03 PM in Safi.
There are 110+ hotels available in Safi.
What companies run services between Milan, Italy and Safi, Morocco?
There is no direct connection from Milan to Safi. However, you can take the train to Malpensa Aeroporto T1, walk to Milano Malpensa Airport (MXP) airport, fly to Marrakech (RAK), walk to Marrakech Airport, take the line 19 bus to Jardin Menara, take the line 19 bus to Gare Routière de ONCF, walk to Marrakech, take the train to Ben Guerir, then take the train to Gare ONCF de Safi. Alternatively, you can take the train to Malpensa Aeroporto T1, walk to Milano Malpensa Airport (MXP) airport, fly to Mohammed V International Airport (CMN), walk to Mohammed V International Airport, take the train to Oasis, then take the train to Gare ONCF de Safi.
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Marrakech
- Ave. Duration
- 3h 25m
- When
- Monday, Wednesday, Thursday, and Saturday
- Estimated price
- MAD 380–3,200
Flights from Milano Malpensa Airport to Marrakech via Valencia
- Ave. Duration
- 5h 40m
- When
- Monday
- Estimated price
- MAD 380–3,200
Flights from Milano Malpensa Airport to Marrakech via Palma Mallorca
- Ave. Duration
- 6h
- When
- Wednesday
- Estimated price
- MAD 380–3,200
Flights from Milano Malpensa Airport to Marrakech via Alicante–Elche
- Ave. Duration
- 6h 15m
- When
- Monday
- Estimated price
- MAD 380–3,200
Flights from Milano Malpensa Airport to Marrakech via Barcelona
- Ave. Duration
- 6h 50m
- When
- Sunday
- Estimated price
- MAD 380–3,200
Flights from Il Caravaggio International Airport to Marrakech
- Ave. Duration
- 3h 20m
- When
- Every day
- Estimated price
- MAD 1,100–8,000
Flights from Milan Linate Airport to Marrakech via Barcelona
- Ave. Duration
- 5h 25m
- When
- Monday
- Estimated price
- MAD 700–3,300
Flights from Milan Linate Airport to Marrakech via Madrid
- Ave. Duration
- 5h 30m
- When
- Sunday
- Estimated price
- MAD 800–5,000
Flights from Turin Caselle Airport to Marrakech
- Ave. Duration
- 3h 15m
- When
- Wednesday, Thursday, and Sunday
- Estimated price
- MAD 800–3,000
Flights from Turin Caselle Airport to Marrakech via Malaga
- Ave. Duration
- 5h
- When
- Friday and Sunday
- Estimated price
- MAD 800–3,000
Flights from Turin Caselle Airport to Marrakech via Barcelona
- Ave. Duration
- 5h 25m
- When
- Sunday
- Estimated price
- MAD 800–3,000
Flights from Turin Caselle Airport to Marrakech via Madrid
- Ave. Duration
- 6h 40m
- When
- Friday and Saturday
- Estimated price
- MAD 800–3,000
Flights from Il Caravaggio International Airport to Rabat-Salé
- Ave. Duration
- 2h 55m
- When
- Monday, Thursday, and Saturday
- Estimated price
- MAD 1,000–4,700
Flights from Il Caravaggio International Airport to Rabat-Salé via Malaga
- Ave. Duration
- 5h 15m
- When
- Sunday and Saturday
- Estimated price
- MAD 1,000–4,700
Flights from Il Caravaggio International Airport to Rabat-Salé via Madrid
- Ave. Duration
- 5h 50m
- When
- Friday
- Estimated price
- MAD 1,000–4,800
Flights from Il Caravaggio International Airport to Rabat-Salé via Barcelona
- Ave. Duration
- 6h 6m
- When
- Thursday, Sunday, and Saturday
- Estimated price
- MAD 1,000–4,700
- Website
- easyjet.com
Flights from Milano Malpensa Airport to Marrakech
- Ave. Duration
- 3h 31m
- When
- Every day
- Estimated price
- MAD 260–1,400
Flights from Milan Linate Airport to Marrakech via Geneva
- Ave. Duration
- 10h 55m
- When
- Tuesday
- Estimated price
- MAD 800–3,700
- Website
- iberia.com
Flights from Milano Malpensa Airport to Marrakech via Barcelona
- Ave. Duration
- 4h 55m
- When
- Saturday
- Estimated price
- MAD 650–3,200
Flights from Milano Malpensa Airport to Mohammed V International Airport via Barcelona
- Ave. Duration
- 5h 27m
- When
- Every day
- Estimated price
- MAD 800–4,600
Flights from Milan Linate Airport to Marrakech via Madrid
- Ave. Duration
- 6h 5m
- When
- Every day
- Estimated price
- MAD 800–5,000
Flights from Milan Linate Airport to Marrakech via Barcelona
- Ave. Duration
- 5h 35m
- When
- Saturday
- Estimated price
- MAD 800–3,800
Flights from Turin Caselle Airport to Marrakech via Barcelona
- Ave. Duration
- 6h 20m
- When
- Monday, Tuesday, and Friday
- Estimated price
- MAD 750–3,700
- Website
- vueling.com
Flights from Milano Malpensa Airport to Marrakech via Barcelona
- Ave. Duration
- 4h 55m
- When
- Saturday
- Estimated price
- MAD 650–3,200
Flights from Milan Linate Airport to Marrakech via Madrid
- Ave. Duration
- 6h 5m
- When
- Every day
- Estimated price
- MAD 800–5,000
Flights from Milan Linate Airport to Marrakech via Barcelona
- Ave. Duration
- 5h 35m
- When
- Saturday
- Estimated price
- MAD 800–3,800
Flights from Turin Caselle Airport to Marrakech via Barcelona
- Ave. Duration
- 6h 20m
- When
- Monday, Tuesday, and Friday
- Estimated price
- MAD 750–3,700
- Website
- airarabia.com
Flights from Il Caravaggio International Airport to Mohammed V International Airport
- Ave. Duration
- 3h 10m
- When
- Sunday, Monday, Wednesday, Thursday, and Friday
- Estimated price
- MAD 850–4,200
- Website
- royalairmaroc.com
Flights from Milano Malpensa Airport to Marrakech via Mohammed V International Airport
- Ave. Duration
- 6h 7m
- When
- Every day
- Estimated price
- MAD 800–4,300
Flights from Milano Malpensa Airport to Mohammed V International Airport
- Ave. Duration
- 3h 10m
- When
- Every day
- Estimated price
- MAD 800–4,600
- Website
- flyulendo.com
Flights from Milano Malpensa Airport to Marrakech
- Ave. Duration
- 4h 35m
- When
- Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- MAD 180–2,700
- Website
- lufthansa.com
Flights from Milan Linate Airport to Marrakech via Munich
- Ave. Duration
- 6h 10m
- When
- Thursday and Friday
- Estimated price
- MAD 1,200–2,000
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- Trenord
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- MAD 45–60
- Website
- Trenord
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- MAD 45–60
- Website
- Trenord
- Phone
- 2255
- communication.digitale@oncf.ma
- Website
- oncf-voyages.ma
Train from Marrakech to Ben Guerir
- Ave. Duration
- 45 min
- Frequency
- Hourly
- Estimated price
- MAD 30–60
- Schedules at
- oncf-voyages.ma
- Book at
- oncf-voyages.ma
- 2nd Class
- MAD 30–45
- 1st Class
- MAD 40–60
Train from Gare de Ben Guerir to Gare ONCF de Safi
- Ave. Duration
- 2h 2m
- Frequency
- 3 times a day
- Estimated price
- MAD 55–110
- Schedules at
- oncf-voyages.ma
- Book at
- oncf-voyages.ma
- 2nd Class
- MAD 55–80
- 1st Class
- MAD 80–110
Train from Oasis to Gare ONCF de Safi
- Ave. Duration
- 4h 4m
- Frequency
- Once daily
- Estimated price
- MAD 120–250
- Schedules at
- oncf-voyages.ma
- Book at
- oncf-voyages.ma
- 2nd Class
- MAD 120–170
- 1st Class
- MAD 180–250
Train from Marrakech to Ben Guerir
- Ave. Duration
- 45 min
- Frequency
- Hourly
- Estimated price
- MAD 30–60
- Schedules at
- oncf-voyages.ma
- Book at
- oncf-voyages.ma
- 2nd Class
- MAD 30–45
- 1st Class
- MAD 40–60
Train from Gare de Ben Guerir to Gare ONCF de Safi
- Ave. Duration
- 2h 2m
- Frequency
- 3 times a day
- Estimated price
- MAD 55–110
- Schedules at
- oncf-voyages.ma
- Book at
- oncf-voyages.ma
- 2nd Class
- MAD 55–80
- 1st Class
- MAD 80–110
Train from Marrakech to Ben Guerir
- Ave. Duration
- 45 min
- Frequency
- Hourly
- Estimated price
- MAD 30–60
- Schedules at
- oncf-voyages.ma
- Book at
- oncf-voyages.ma
- 2nd Class
- MAD 30–45
- 1st Class
- MAD 40–60
Train from Gare de Ben Guerir to Gare ONCF de Safi
- Ave. Duration
- 2h 2m
- Frequency
- 3 times a day
- Estimated price
- MAD 55–110
- Schedules at
- oncf-voyages.ma
- Book at
- oncf-voyages.ma
- 2nd Class
- MAD 55–80
- 1st Class
- MAD 80–110
Train from Oasis to Gare ONCF de Safi
- Ave. Duration
- 4h 4m
- Frequency
- Once daily
- Estimated price
- MAD 120–250
- Schedules at
- oncf-voyages.ma
- Book at
- oncf-voyages.ma
- 2nd Class
- MAD 120–170
- 1st Class
- MAD 180–250
Train from Marrakech to Ben Guerir
- Ave. Duration
- 45 min
- Frequency
- Hourly
- Estimated price
- MAD 30–60
- Schedules at
- oncf-voyages.ma
- Book at
- oncf-voyages.ma
- 2nd Class
- MAD 30–45
- 1st Class
- MAD 40–60
Train from Gare de Ben Guerir to Gare ONCF de Safi
- Ave. Duration
- 2h 2m
- Frequency
- 3 times a day
- Estimated price
- MAD 55–110
- Schedules at
- oncf-voyages.ma
- Book at
- oncf-voyages.ma
- 2nd Class
- MAD 55–80
- 1st Class
- MAD 80–110
Train from Rabat Agdal to Ben Guerir
- Ave. Duration
- 2h 51m
- Frequency
- Hourly
- Estimated price
- MAD 100–210
- Schedules at
- oncf-voyages.ma
- Book at
- oncf-voyages.ma
- 2nd Class
- MAD 100–150
- 1st Class
- MAD 150–210
Train from Gare de Ben Guerir to Gare ONCF de Safi
- Ave. Duration
- 2h 2m
- Frequency
- 3 times a day
- Estimated price
- MAD 55–110
- Schedules at
- oncf-voyages.ma
- Book at
- oncf-voyages.ma
- 2nd Class
- MAD 55–80
- 1st Class
- MAD 80–110
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Milano Centrale to Torino Porta di Susa
- Ave. Duration
- 48 min
- Frequency
- Hourly
- Estimated price
- MAD 180–300
- Website
- Italo Treno
- customerservices@terravision.eu
- Website
- TERRAVISION
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- MAD 55–250
- Website
- TERRAVISION
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- MAD 55–250
- Website
- TERRAVISION
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- MAD 55–250
- Website
- TERRAVISION
- Phone
- 035.319366
- ticket@orioshuttle.com
- Website
- orioshuttle.com
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- MAD 120–160
- Schedules at
- orioshuttle.com
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- MAD 120–160
- Schedules at
- orioshuttle.com
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- MAD 120–160
- Schedules at
- orioshuttle.com
Want to know more about travelling around Morocco
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Italy Travel Guides
Read the travel guide
Getting to Milan from the airport
Read the travel guide



























