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)FRA - LIN
3h 47m€48–135Bus
cheapest- Take the bus from Mainz central train station to Milano, Autostazione Lampugnano476
12h 5m€40–110Train
- Take the train from Mainz, Römisches Theater to Mannheim, HauptbahnhofS5 / ...
- Take the train from Mannheim, Hauptbahnhof to Basel SBB20 / ...
- Take the train from Basel SBB to LuganoEc
- Take the train from Lugano to Milano CentraleEc
9h 54m€87–315Drive 662.2 km
- Drive from Mainz to Milan662.2 km
6h 15m€102–147Fly Frankfurt to Milano Malpensa Airport, train
- Fly from Frankfurt (FRA) to Milano Malpensa Airport (MXP)FRA - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
4h 35m€76–177Train to Stuttgart Airport, fly to Milan Linate Airport
- Take the train from Mainz, Hauptbahnhof to Hauptbahnhof
- Fly from Stuttgart Airport (STR) to Milan Linate Airport (LIN)STR - LIN
5h 36m€129–335Train via Zurich
- Take the train from Mainz Hbf to Zürich HB
- Take the train from Zürich HB to Como S. GiovanniEc
- Take the train from Como S.Giovanni to Milano Porta GaribaldiS11
11h 17m€163–412Train, bus
- Take the train from Mainz, Römisches Theater to Mannheim, HauptbahnhofS5 / ...
- Take the bus from Mannheim Central Bus Station to MilanMarinoBus 254 / ...
14h 37m€55–88
Mainz to Milan by train
Questions & Answers
The cheapest way to get from Mainz to Milan is to bus which costs €40 - €110 and takes 12h 5m.
The fastest way to get from Mainz to Milan is to fly which takes 3h 47m and costs €45 - €140.
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 54m.
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 54m 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 - €140. Alternatively, you can train, which costs €85 - €320 and takes 9h 54m, you could also bus, which costs €40 - €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 54m.
- Website
- lufthansa.com
Flights from Frankfurt to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €75–150
Flights from Frankfurt to Milan Linate Airport via Munich
- Ave. Duration
- 3h 20m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €65–120
Flights from Frankfurt to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €75–280
Flights from Frankfurt to Milano Malpensa Airport via Munich
- Ave. Duration
- 3h 20m
- When
- Wednesday to Friday
- Estimated price
- €90–290
Flights from Stuttgart Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 5m
- When
- Wednesday
- Estimated price
- €90–370
- Website
- airdolomiti.it
Flights from Frankfurt to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €75–150
Flights from Frankfurt to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €85–280
- Website
- condor.com
Flights from Frankfurt to Milano Malpensa Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €40–130
- Website
- easyjet.com
Flights from Frankfurt to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €35–120
- 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–230
- 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
- 53 min
- 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 41m
- Frequency
- Every 3 hours
- Estimated price
- €26–85
- 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
- Twice 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
- Twice 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
- €23–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 22m
- 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
- €40–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
- €40–65
- 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 15m 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 13465+ hotels available in Milan.










































