There are 8 ways to get from Mainz to Milan by plane, train, bus, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly Frankfurt to Milan Linate Airport
best- Fly from Frankfurt (FRA) to Milan Linate Airport (LIN)plane FRA - LIN
3h 47m€48–145Bus
cheapest- Take the bus from Mainz central train station to Milano, Autostazione Lampugnanobus 476
12h 5m€35–110Train
- Take the train from Mainz, Römisches Theater to Mannheim, Hauptbahnhoftrain S5 / ...
- Take the train from Mannheim, Hauptbahnhof to Basel SBBtrain 20 / ...
- Take the train from Basel SBB to Luganotrain Ec
- Take the train from Lugano to Milano Centraletrain Ec
9h 57m€87–315Drive 662.2 km
- Drive from Mainz to Milancar 662.2 km
6h 16m€103–149Fly Frankfurt to Milano Malpensa Airport, train
- Fly from Frankfurt (FRA) to Milano Malpensa Airport (MXP)plane FRA - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
4h 35m€76–187Train to Stuttgart Airport, fly to Milan Linate Airport
- Take the train from Mainz, Hauptbahnhof to Hauptbahnhoftrain
- Fly from Stuttgart Airport (STR) to Milan Linate Airport (LIN)plane STR - LIN
5h 25m€138–329Train via Zurich
- Take the train from Mainz Hbf to Zürich HBtrain
- Take the train from Zürich HB to Como S. Giovannitrain Ec
- Take the train from Como S.Giovanni to Milano Porta Garibalditrain S11
11h 17m€162–412Train, bus
- Take the train from Mainz, Römisches Theater to Mannheim, Hauptbahnhoftrain S5 / ...
- Take the bus from Mannheim Central Bus Station to Milanbus MarinoBus 254 / ...
14h 37m€50–93
Mainz to Milan by train
Questions & Answers
The cheapest way to get from Mainz to Milan is to bus which costs €35 - €110 and takes 12h 5m.
The fastest way to get from Mainz to Milan is to fly which takes 3h 47m and costs €45 - €150.
Yes, there is a direct bus departing from Mainz central train station station and arriving at Milano, Autostazione Lampugnano. Services depart twice daily, and operate every day. The journey takes approximately 12h 5m.
No, there is no direct train from Mainz to Milan. However, there are services departing from Mainz, Römisches Theater and arriving at Milano Centrale via Mannheim, Hauptbahnhof, Basel SBB and Lugano. The journey, including transfers, takes approximately 9h 57m.
The distance between Mainz and Milan is 547 km. The road distance is 662.2 km.
The best way to get from Mainz to Milan without a car is to train which takes 9h 57m and costs €85 - €320.
It takes approximately 3h 47m to get from Mainz to Milan, including transfers.
Mainz to Milan bus services, operated by FlixBus, depart from Mainz central train station.
Mainz to Milan train services, operated by Deutsche Bahn Regio (DB Regional), depart from Mainz, Römisches Theater station.
The best way to get from Mainz to Milan is to fly which takes 3h 47m and costs €45 - €150. Alternatively, you can train, which costs €85 - €320 and takes 9h 57m, you could also bus, which costs €35 - €110 and takes 12h 5m.
What companies run services between Mainz, Germany and Milan, Italy?
easyJet, Lufthansa, and two other airlines fly from Frankfurt (FRA) to Milan Linate Airport (LIN) every 4 hours. Alternatively, you can take a train from Mainz, Römisches Theater to Milano Centrale via Mannheim, Hauptbahnhof, Basel SBB, and Lugano in around 9h 57m.
- Website
- lufthansa.com
Flights from Frankfurt to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €65–150
Flights from Frankfurt to Milan Linate Airport via Munich
- Ave. Duration
- 3h 20m
- When
- Wednesday to Friday
- Estimated price
- €55–120
Flights from Frankfurt to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €75–270
Flights from Stuttgart Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 5m
- When
- Every day
- Estimated price
- €95–360
- Website
- airdolomiti.it
Flights from Frankfurt to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €65–150
Flights from Frankfurt to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €80–270
- Website
- condor.com
Flights from Frankfurt to Milano Malpensa Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €60–140
- Website
- easyjet.com
Flights from Frankfurt to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €40–130
- Website
- eurowings.com
Flights from Stuttgart Airport to Milan Linate Airport
- Ave. Duration
- 1h 5m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €100–240
- Phone
- +49 30 2970
- Website
- bahn.de
Train from Mainz, Römisches Theater to Mannheim, Hauptbahnhof
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €13–19
- Website
- https://int.bahn.de/en
- Phone
- 0621 8301200
- Website
- suewex.de
Train from Mainz, Römisches Theater to Mannheim, Hauptbahnhof
- Ave. Duration
- 1h 1m
- Frequency
- Twice daily
- Estimated price
- €14–20
- Schedules at
- suewex.de
- Phone
- +49 30 311 682904
- Website
- bahn.de
Train from Mannheim, Hauptbahnhof to Basel SBB
- Ave. Duration
- 2h 21m
- Frequency
- Hourly
- Estimated price
- €30–80
- Website
- https://int.bahn.de/en
Train from Mainz, Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 1h 30m
- Frequency
- Every 3 hours
- Estimated price
- €30–75
- Website
- https://int.bahn.de/en
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from Mannheim, Hauptbahnhof to Basel SBB
- Ave. Duration
- 2h 50m
- Frequency
- Once daily
- Estimated price
- €40–140
- Website
- https://www.ns.nl/en
- 2nd Class
- €40–60
- 1st Class
- €80–140
Train from Mainz Hbf to Zürich HB
- Ave. Duration
- 6h 22m
- Frequency
- Once daily
- Estimated price
- €70–240
- Website
- https://www.ns.nl/en
- 2nd Class
- €70–110
- 1st Class
- €140–240
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Basel SBB to Lugano
- Ave. Duration
- 2h 55m
- Frequency
- Every 2 hours
- Estimated price
- €55–110
- Website
- https://www.sbb.ch/en
Train from Lugano to Milano Centrale
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €23–45
- Website
- https://www.sbb.ch/en
Train from Zürich HB to Como S. Giovanni
- Ave. Duration
- 2h 35m
- Frequency
- Hourly
- Estimated price
- €70–130
- Website
- https://www.sbb.ch/en
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 49 min
- Frequency
- Twice a week
- Estimated price
- €22–45
- Website
- https://www.sbb.ch/en
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- sbb-deutschland.de
Train from Basel SBB to Lugano
- Ave. Duration
- 3h 21m
- Frequency
- Once daily
- Estimated price
- €20–25
- Schedules at
- sbb-deutschland.de
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 6m
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +39 02-72494949
- Website
- malpensaexpress.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- €15
- Website
- https://www.malpensaexpress.it/en/
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Mainz central train station to Milano, Autostazione Lampugnano
- Ave. Duration
- 12h 5m
- Frequency
- Twice daily
- Estimated price
- €35–110
- Website
- https://www.flixbus.co.uk
- Phone
- +39 080 3112335
- info@marinobus.it
- Website
- marinobus.it
Bus from Mannheim Central Bus Station to Milan
- Ave. Duration
- 12h 5m
- Frequency
- Twice a week
- Estimated price
- €35–70
- Website
- https://marinobus.it/en/
Want to know more about travelling around Italy
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
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Getting to Milan from the airport
Read the travel guide
More Questions & Answers
Mainz to Milan bus services, operated by FlixBus, arrive at Milano, Autostazione Lampugnano station.
Mainz to Milan train services, operated by Deutsche Bahn Regio (DB Regional), arrive at Mannheim, Hauptbahnhof station.
Yes, the driving distance between Mainz to Milan is 662 km. It takes approximately 6h 16m to drive from Mainz to Milan.
Book your Mainz to Milan train tickets online with Omio.
Book your Mainz to Milan bus tickets online with Omio and FlixBus.
There are 13654+ hotels available in Milan.










































