There are 7 ways to get from Ulm to Milan by bus, train, car, plane, or ferry
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus
best- Take the bus from Ulm to Milano, Autostazione LampugnanoN77
6h 35m€27–75Train
- Take the train from Ulm Hauptbahnhof to Friedrichsh. StadtbahnhofRe5 / ...
- Take the train from Friedrichsh. Stadtbahnhof to SingenRe3 / ...
- Take the train from Singen to Zürich HBIc
- Take the train from Zürich HB to Como S. GiovanniEc
- Take the train from Como S.Giovanni to Milano Porta GaribaldiS11
9h 32m€135–252Drive 428.3 km
- Drive from Ulm to Milan428.3 km
4h 26m€66–95Train, train to Munich International Airport, fly to Milan Linate Airport
- Take the train from Ulm Hauptbahnhof to Pasing
- Take the train from Pasing to Flughafen München
- Fly from Munich International Airport (MUC) to Milan Linate Airport (LIN)MUC - LIN
5h 17m€100–292Train, bus
- Take the train from Ulm Hauptbahnhof to Lindau, Reutin BahnhofRe3 / ...
- Take the bus from Lindau to Milano, Autostazione Lampugnano456 / ...
7h 56m€36–95Train to Stuttgart Airport, fly to Milan Linate Airport
- Take the train from Ulm Hauptbahnhof to Hauptbahnhof
- Fly from Stuttgart Airport (STR) to Milan Linate Airport (LIN)STR - LIN
4h 51m€121–296Train, ferry, train to Zurich Airport, fly to Milano Malpensa Airport
- Take the train from Ulm Hauptbahnhof to Friedrichsh. Stadtbahnhof
- Take the ferry from Friedrichshafen Faehre to Romanshorn Autoquai
- Take the train from Romanshorn to Zürich Flughafen
- Fly from Zurich Airport (ZRH) to Milano Malpensa Airport (MXP)ZRH - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
6h 59m€112–283
Ulm to Milan by bus
Questions & Answers
The cheapest way to get from Ulm to Milan is to bus which costs €27 - €75 and takes 6h 35m.
The fastest way to get from Ulm to Milan is to drive which takes 4h 26m and costs €65 - €95.
Yes, there is a direct bus departing from Ulm and arriving at Milano, Autostazione Lampugnano. Services depart once daily, and operate every day. The journey takes approximately 6h 35m.
No, there is no direct train from Ulm to Milan. However, there are services departing from Ulm Hauptbahnhof and arriving at Milano Porta Garibaldi via Friedrichsh. Stadtbahnhof, Singen, Zürich HB and Como S.Giovanni. The journey, including transfers, takes approximately 9h 32m.
The distance between Ulm and Milan is 428 km. The road distance is 428.3 km.
The best way to get from Ulm to Milan without a car is to bus which takes 6h 35m and costs €27 - €75.
The bus from Ulm to Milano, Autostazione Lampugnano takes 6h 35m including transfers and departs once daily.
Ulm to Milan bus services, operated by FlixBus, depart from Ulm station.
Ulm to Milan train services, operated by DB ZugBus Regionalverkehr Alb-Bodensee GmbH (RAB), depart from Ulm Hauptbahnhof station.
The best way to get from Ulm to Milan is to bus which takes 6h 35m and costs €27 - €75. Alternatively, you can train, which costs €130 - €260 and takes 9h 32m.
What companies run services between Ulm, Germany and Milan, Italy?
FlixBus operates a bus from Ulm to Milano, Autostazione Lampugnano once daily. Tickets cost €27–75 and the journey takes 6h 35m. Alternatively, you can take a train from Ulm Hauptbahnhof to Milano Porta Garibaldi via Friedrichsh. Stadtbahnhof, Singen, Zürich HB, and Como S.Giovanni in around 9h 32m.
- Website
- ita-airways.com
Flights from Munich International Airport to Milan Linate Airport
- Ave. Duration
- 1h 2m
- When
- Every day
- Estimated price
- €50–230
Flights from Stuttgart Airport to Milan Linate Airport
- Ave. Duration
- 1h 5m
- When
- Monday to Friday
- Estimated price
- €100–230
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 55 min
- When
- Every day
- Estimated price
- €50–190
- Website
- lufthansa.com
Flights from Munich International Airport to Milan Linate Airport
- Ave. Duration
- 1h 2m
- When
- Every day
- Estimated price
- €50–230
- Website
- swiss.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 55 min
- When
- Every day
- Estimated price
- €50–190
- Website
- eurowings.com
Flights from Stuttgart Airport to Milan Linate Airport
- Ave. Duration
- 1h 5m
- When
- Monday to Friday
- Estimated price
- €100–230
- Website
- airdolomiti.it
Flights from Munich International Airport to Milan Linate Airport
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- €110–230
- Website
- ethiopianairlines.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €65–150
- Phone
- +49 731 1550-0
- servicecenter@dbregiobus-rab.de
- Website
- meine-rab.de
Train from Ulm Hauptbahnhof to Friedrichsh. Stadtbahnhof
- Ave. Duration
- 1h 5m
- Frequency
- Hourly
- Estimated price
- €14–18
- Schedules at
- meine-rab.de
Train from Friedrichsh. Stadtbahnhof to Singen
- Ave. Duration
- 55 min
- Frequency
- Every 3 hours
- Estimated price
- €10–13
- Schedules at
- meine-rab.de
Train from Ulm Hauptbahnhof to Lindau, Reutin Bahnhof
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Estimated price
- €17–21
- Schedules at
- meine-rab.de
Train from Ulm Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 1h 5m
- Frequency
- Hourly
- Estimated price
- €12–16
- Schedules at
- meine-rab.de
- Phone
- +49 30 311 682904
- Website
- bahn.de
Train from Ulm Hauptbahnhof to Friedrichsh. Stadtbahnhof
- Ave. Duration
- 1h 1m
- Frequency
- Twice daily
- Estimated price
- €25–28
- Website
- https://int.bahn.de/en
Train from Ulm Hauptbahnhof to Pasing
- Ave. Duration
- 1h 1m
- Frequency
- Hourly
- Estimated price
- €20–40
- Website
- https://int.bahn.de/en
Train from Ulm Hauptbahnhof to Lindau, Reutin Bahnhof
- Ave. Duration
- 1h 26m
- Frequency
- Twice daily
- Estimated price
- €27–40
- Website
- https://int.bahn.de/en
Train from Ulm Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 56 min
- Frequency
- Hourly
- Estimated price
- €18–30
- Website
- https://int.bahn.de/en
- Phone
- +49 30 2970
- Website
- bahn.de
Train from Friedrichsh. Stadtbahnhof to Singen
- Ave. Duration
- 1h 12m
- Frequency
- Once daily
- Estimated price
- €13–19
- Website
- https://int.bahn.de/en
Train from Pasing to Flughafen München
- Ave. Duration
- 52 min
- Frequency
- Every 20 minutes
- Estimated price
- €10–15
- Website
- https://int.bahn.de/en
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Singen to Zürich HB
- Ave. Duration
- 51 min
- Frequency
- Hourly
- Estimated price
- €28–50
- Website
- https://www.sbb.ch/en
Train from Zürich HB to Como S. Giovanni
- Ave. Duration
- 2h 35m
- Frequency
- Hourly
- Estimated price
- €60–110
- 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
Train from Romanshorn to Zürich Flughafen
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- €18–35
- Website
- https://www.sbb.ch/en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
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/
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/
- Phone
- +49 821 899825-44
- servus@go-ahead.bayern
- Website
- go-ahead.bayern
Train from Ulm Hauptbahnhof to Pasing
- Ave. Duration
- 2h 10m
- Frequency
- Once daily
- Schedules at
- go-ahead.bayern
- Phone
- +43 1 89900
- meinenachricht@westbahn.at
- Website
- westbahn.at
Train from Ulm Hauptbahnhof to Pasing
- Ave. Duration
- 1h 11m
- Frequency
- Twice daily
- Estimated price
- €19–45
- Website
- https://westbahn.at/en/
Train from Ulm Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 59 min
- Frequency
- 4 times a day
- Estimated price
- €17–45
- Website
- https://westbahn.at/en/
- Standard Ticket
- €17–25
- First Class
- €30–45
- Phone
- +49 711 400 534 44
- service@gabw-bahn.de
- Website
- go-ahead-bw.de
Train from Ulm Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 1h 33m
- Frequency
- Hourly
- Estimated price
- €15–29
- Schedules at
- go-ahead-bw.de
- 2nd Class Ticket
- €15–19
- 1st Class Ticket
- €20–29
- Phone
- +43 5 1717
- Website
- oebb.at
Train from Ulm Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 56 min
- Frequency
- 3 times a day
- Estimated price
- €24–35
- Website
- https://www.oebb.at/en/reiseplanung-services/im-zug/unsere-zuege/eurocity-intercity
- Website
- https://shop.oebbtickets.at/en/ticket
Train from Ulm Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 55 min
- Frequency
- Twice daily
- Estimated price
- €18–28
- Website
- https://www.oebb.at/en/reiseplanung-services/im-zug/unsere-zuege/railjet
- *
- €18–27
- Phone
- +43 5 1717
- Website
- oebb.at
Train from Ulm Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 1h 11m
- Frequency
- Once daily
- Estimated price
- €19–29
- Website
- https://www.oebb.at/en/reiseplanung-services/im-zug/unsere-zuege/eurocity-intercity
- Website
- https://shop.oebbtickets.at/en/ticket?cref=oebb-header
- 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/
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Ulm to Milano, Autostazione Lampugnano
- Ave. Duration
- 6h 35m
- Frequency
- Once daily
- Estimated price
- €27–75
- Website
- https://www.flixbus.co.uk
Bus from Lindau to Milano, Autostazione Lampugnano
- Ave. Duration
- 5h 15m
- Frequency
- Twice daily
- Estimated price
- €19–55
- Website
- https://www.flixbus.co.uk
- Phone
- +49 (0) 7531 3640-0
- info@bsb.de
- Website
- bsb.de
Ferry from Friedrichshafen Faehre to Romanshorn Autoquai
- Ave. Duration
- 46 min
- Frequency
- Hourly
- Estimated price
- €9–12
- Website
- https://www.bsb.de/en
- Phone
- +41 71 466 78 88
- info@sbsag.ch
- Website
- bodensee-schiffe.ch
Ferry from Friedrichshafen Faehre to Romanshorn Autoquai
- Ave. Duration
- 46 min
- Frequency
- Every 4 hours
- Schedules at
- bodensee-schiffe.ch
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
Want to know more about Flixbus?
Read the travel guide
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
More Questions & Answers
Ulm to Milan bus services, operated by FlixBus, arrive at Milano, Autostazione Lampugnano station.
Ulm to Milan train services, operated by DB ZugBus Regionalverkehr Alb-Bodensee GmbH (RAB), arrive at Friedrichsh. Stadtbahnhof station.
Yes, the driving distance between Ulm to Milan is 428 km. It takes approximately 4h 26m to drive from Ulm to Milan.
Book your Ulm to Milan train tickets online with Omio.
Book your Ulm to Milan bus tickets online with Omio and FlixBus.
There are 13491+ hotels available in Milan.
























































