There are 12 ways to get from Odense to Milan by train, plane, train (Deutsche Bahn), bus, night train, car, or car train
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 Copenhagen Airport, fly to Milan Linate Airport
best- Take the train from Odense St. to København, Københavns Lufthavntrain
- Fly from Copenhagen Airport (CPH) to Milan Linate Airport (LIN)plane CPH - LIN
6h 9m€88–283Train
- Take the train from Odense St. to Hamburg Hbftrain Ece / ...
- Take the train from Hamburg Hbf to Kassel Bahnhof Wilhelmshöhetrain 20 / ...
- Take the train from Kassel Bahnhof Wilhelmshöhe to Basel SBBtrain 20 / ...
- Take the train from Basel SBB to Luganotrain Ec
- Take the train from Lugano to Milano Centraletrain
18h 6m€126–390Bus
- Take the bus from Odense St. to Hamburg ZOBbus 047
- Take the bus from Hamburg, Zentraler Omnibusbahnhof to Milano, Autostazione Lampugnanobus N24
22h 55mBus, night train, train
- Take the bus from Odense St. to Hamburg ZOBbus 047
- Take the night train from Hamburg Hbf to Zuerich Hbnighttrain Nj
- Take the train from Zürich HB to Como S. Giovannitrain Ec
- Take the train from Como S.Giovanni to Milano Porta Garibalditrain S11
21h 58mTrain to Billund Airport, fly to Milan Linate Airport
- Take the train from Odense St. to Vejle St.train
- Fly from Billund Airport (BLL) to Milan Linate Airport (LIN)plane BLL - LIN
7h 26m€131–364Train to Copenhagen Airport, fly to Milano Malpensa Airport, train
- Take the train from Odense St. to København, Københavns Lufthavntrain
- Fly from Copenhagen Airport (CPH) to Milano Malpensa Airport (MXP)plane CPH - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
7h 2m€106–246Train to Hamburg Airport, fly to Milan Linate Airport
- Take the train from Odense St. to Pinnebergtrain
- Fly from Hamburg Airport (HAM) to Milan Linate Airport (LIN)plane HAM - LIN
8h 1m€146–326Train to Copenhagen Airport, fly to Il Caravaggio International Airport
- Take the train from Odense St. to København, Københavns Lufthavntrain
- Fly from Copenhagen Airport (CPH) to Il Caravaggio International Airport (BGY)plane CPH - BGY
6h 43m€92–265Train to Hamburg Airport, fly to Milano Malpensa Airport, train
- Take the train from Odense St. to Pinnebergtrain
- Fly from Hamburg Airport (HAM) to Milano Malpensa Airport (MXP)plane HAM - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
8h 49m€99–249Night train, train
- Take the night train from Odense to Innsbruck Hauptbahnhofnighttrain 305
- Take the train from Brennero - Brenner to Bolzano Bozentrain Re
- Take the train from Bolzano Bozen to Milano Centraletrain Fr
26h 33m€149–236Drive 1,414.8 km
- Drive from Odense to Milancar 1,414.8 km
12h 45m€247–357Drive, car train
- Drive from Odense to Hamburg Hbfcar
- Take the car train from Hamburg Hbf to München Ostcartrain
- Drive from München Ost to Milancar
13h 42m€219–977
Odense to Milan by train
Questions & Answers
The cheapest way to get from Odense to Milan is to train and fly which costs €95 - €250 and takes 8h 49m.
The fastest way to get from Odense to Milan is to train and fly which takes 6h 9m and costs €85 - €290.
No, there is no direct bus from Odense to Milan. However, there are services departing from Odense St. and arriving at Milano, Autostazione Lampugnano via Hamburg, Zentraler Omnibusbahnhof. The journey, including transfers, takes approximately 22h 55m.
No, there is no direct train from Odense to Milan. However, there are services departing from Odense St. and arriving at Milano Centrale via Hamburg Hbf, Kassel Bahnhof Wilhelmshöhe, Basel SBB and Lugano. The journey, including transfers, takes approximately 18h 6m.
The distance between Odense and Milan is 1345 km. The road distance is 1414.8 km.
The best way to get from Odense to Milan without a car is to train which takes 18h 6m and costs €120 - €390.
It takes approximately 6h 9m to get from Odense to Milan, including transfers.
Odense to Milan bus services, operated by Danish Railways (DSB), depart from Odense St. station.
Odense to Milan train services, operated by Danish Railways (DSB), depart from Odense St. station.
The best way to get from Odense to Milan is to train which takes 18h 6m and costs €120 - €390. Alternatively, you can bus, which costs and takes 22h 55m.
What companies run services between Odense, Denmark and Milan, Italy?
You can take a train from Odense St. to Milano Centrale via Hamburg Hbf, Kassel Bahnhof Wilhelmshöhe, Basel SBB, and Lugano in around 18h 6m. Alternatively, you can take a bus from Odense St. to Milano, Autostazione Lampugnano via Hamburg, Zentraler Omnibusbahnhof in around 22h 55m.
- Website
- lufthansa.com
Flights from Copenhagen Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 8m
- When
- Every day
- Estimated price
- €110–270
Flights from Billund Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 28m
- When
- Every day
- Estimated price
- €100–440
Flights from Copenhagen Airport to Milano Malpensa Airport via Munich
- Ave. Duration
- 3h 35m
- When
- Every day
- Estimated price
- €60–250
Flights from Copenhagen Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 3h 43m
- When
- Every day
- Estimated price
- €60–250
Flights from Hamburg Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 45m
- When
- Every day
- Estimated price
- €85–370
Flights from Hamburg Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 45m
- When
- Monday to Saturday
- Estimated price
- €85–230
Flights from Hamburg Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 3h 15m
- When
- Every day
- Estimated price
- €70–290
Flights from Hamburg Airport to Milano Malpensa Airport via Munich
- Ave. Duration
- 3h 15m
- When
- Every day
- Estimated price
- €70–290
- Website
- klm.com
Flights from Billund Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 4h 7m
- When
- Every day
- Estimated price
- €65–370
Flights from Hamburg Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 3h 58m
- When
- Every day
- Estimated price
- €60–340
- Website
- ryanair.com
Flights from Copenhagen Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €40–150
- Website
- flysas.com
Flights from Copenhagen Airport to Milan Linate Airport
- Ave. Duration
- 2h
- When
- Sunday
- Estimated price
- €50–220
Flights from Billund Airport to Milan Linate Airport via Copenhagen Airport
- Ave. Duration
- 4h 55m
- When
- Sunday
- Estimated price
- €130–300
Flights from Copenhagen Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 5m
- When
- Every day
- Estimated price
- €45–150
- Website
- swiss.com
Flights from Copenhagen Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 55m
- When
- Every day
- Estimated price
- €60–240
Flights from Hamburg Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 45m
- When
- Every day
- Estimated price
- €35–280
- Website
- luxair.lu
Flights from Copenhagen Airport to Milan Linate Airport via Luxembourg
- Ave. Duration
- 4h 5m
- When
- Sunday
- Estimated price
- €70–310
Flights from Hamburg Airport to Milan Linate Airport via Luxembourg
- Ave. Duration
- 3h 50m
- When
- Sunday
- Estimated price
- €80–370
Flights from Hamburg Airport to Milano Malpensa Airport via Luxembourg
- Ave. Duration
- 3h 52m
- When
- Monday, Friday, and Sunday
- Estimated price
- €70–320
- Website
- eurowings.com
Flights from Hamburg Airport to Milan Linate Airport via Stuttgart
- Ave. Duration
- 3h 45m
- When
- Monday, Tuesday, Thursday, and Friday
- Estimated price
- €140–220
Flights from Hamburg Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €35–110
Flights from Hamburg Airport to Milano Malpensa Airport via Dusseldorf
- Ave. Duration
- 4h 30m
- When
- Friday
- Estimated price
- €35–110
- Website
- condor.com
Flights from Hamburg Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 3h 46m
- When
- Every day
- Estimated price
- €50–190
- Website
- easyjet.com
Flights from Copenhagen Airport to Milan Linate Airport
- Ave. Duration
- 2h 5m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €35–190
Flights from Hamburg Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €28–100
- Website
- airfrance.com
Flights from Billund Airport to Milan Linate Airport via Paris Charles de Gaulle
- Ave. Duration
- 4h 30m
- When
- Every day
- Estimated price
- €75–400
- Website
- ita-airways.com
Flights from Hamburg Airport to Milan Linate Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €65–210
Flights from Hamburg Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 30m
- When
- Every day
- Estimated price
- €70–280
- Website
- britishairways.com
Flights from Billund Airport to Milan Linate Airport via London Heathrow
- Ave. Duration
- 4h 50m
- When
- Every day
- Estimated price
- €90–430
- Website
- airdolomiti.it
Flights from Billund Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 6h 25m
- When
- Saturday and Sunday
- Estimated price
- €130–420
- Website
- brusselsairlines.com
Flights from Hamburg Airport to Milan Linate Airport via Brussels
- Ave. Duration
- 3h 35m
- When
- Monday to Saturday
- Estimated price
- €65–210
- Website
- norwegian.com
Flights from Copenhagen Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h
- When
- Sunday
- Estimated price
- €35–110
- Phone
- +47 70 13 14 15
- kundehenv@dsb.dk
- Website
- dsb.dk
Train from Odense St. to København, Københavns Lufthavn
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Estimated price
- €30–50
- Website
- https://www.dsb.dk/en/
Train from Odense St. to Hamburg Hbf
- Ave. Duration
- 3h 30m
- Frequency
- 4 times a day
- Estimated price
- €55–95
- Website
- https://www.dsb.dk/en/
Train from Odense St. to Vejle St.
- Ave. Duration
- 48 min
- Frequency
- Hourly
- Estimated price
- €14–24
- Website
- https://www.dsb.dk/en/
Train from Odense St. to Pinneberg
- Ave. Duration
- 3h 1m
- Frequency
- Twice daily
- Estimated price
- €55–90
- Website
- https://www.dsb.dk/en/
- Phone
- +49 30 2970
- Website
- reiseauskunft.bahn.de
Train from Odense St. to Hamburg Hbf
- Ave. Duration
- 3h 28m
- Frequency
- 5 times a day
- Website
- https://reiseauskunft.bahn.de/bin/query.exe/en?revia=yes&existOptimizePrice=1&country=overseas&initialAvail=ON&S={fromName}&Z={toName}&start=1
- Phone
- +46 40 669 62 00
- snalltaget@snalltaget.se
- Website
- snalltaget.se
Train from Odense St. to Hamburg Hbf
- Ave. Duration
- 3h 43m
- Frequency
- Once daily
- Estimated price
- €27–30
- Website
- https://www.snalltaget.se/en
Night train from Odense to Innsbruck Hauptbahnhof
- Ave. Duration
- 19h 39m
- Frequency
- Once a week
- Estimated price
- €85–120
- Website
- https://www.snalltaget.se/en
- Phone
- +49 30 311 682904
- Website
- bahn.de
Train from Hamburg Hbf to Kassel Bahnhof Wilhelmshöhe
- Ave. Duration
- 3h 2m
- Frequency
- Every 30 minutes
- Estimated price
- €17–70
- Website
- https://int.bahn.de/en
Train from Kassel Bahnhof Wilhelmshöhe to Basel SBB
- Ave. Duration
- 4h 33m
- Frequency
- Hourly
- Estimated price
- €55–110
- Website
- https://int.bahn.de/en
- Phone
- +49 30 300 137 300
- info@flixbus.de
- Website
- flixtrain.de
Train from Hamburg Hbf to Kassel Bahnhof Wilhelmshöhe
- Ave. Duration
- 5h 15m
- Frequency
- Once daily
- Estimated price
- €30–45
- Website
- https://www.flixtrain.com/
- 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 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 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 Lugano to Milano Centrale
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €6–8
- Website
- https://www.trenord.it/en/
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 1m
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +43 51717
- Website
- nightjet.com
Night train from Hamburg Hbf to Zuerich Hb
- Ave. Duration
- 11h 54m
- Frequency
- Once daily
- Estimated price
- €75–280
- Website
- https://www.nightjet.com/en/#/home
- Sleeper Carriage
- €260–280
- Couchette Carriage
- €150–180
- Seating Carriage
- €75–95
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Brennero - Brenner to Bolzano Bozen
- Ave. Duration
- 1h 21m
- Frequency
- Hourly
- Estimated price
- €18
- Website
- https://www.trenitalia.com/en.html
Train from Brennero - Brenner to Bolzano Bozen
- Ave. Duration
- 1h 19m
- Frequency
- Twice daily
- Estimated price
- €16–24
- Website
- https://www.oebb.at/en/
Train from Brennero - Brenner to Bolzano Bozen
- Ave. Duration
- 1h 25m
- Frequency
- Once daily
- Estimated price
- €18–28
- Website
- https://www.oebb.at/en/reiseplanung-services/im-zug/unsere-zuege/railjet
- *
- €18–27
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Bolzano Bozen to Milano Centrale
- Ave. Duration
- 3h
- Frequency
- Once daily
- Estimated price
- €35–70
- Schedules at
- trenitalia.com
- Phone
- +49 (0) 221 800 20 820
- info@urlaubs-express.de
- Website
- urlaubs-express.de
Car train from Hamburg Hbf to München Ost
- Ave. Duration
- 4h 37m
- Frequency
- Once daily
- Estimated price
- €100–800
- Website
- https://urlaubs-express.de/?lang=en
- Car Single Bed
- €390–440
- Car Compartment
- €700–800
- Phone
- +47 70 13 14 15
- kundehenv@dsb.dk
- Website
- dsb.dk
Bus from Odense St. to Hamburg ZOB
- Ave. Duration
- 4h 10m
- Frequency
- Every 4 hours
- Website
- https://www.dsb.dk/en/
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Hamburg, Zentraler Omnibusbahnhof to Milano, Autostazione Lampugnano
- Ave. Duration
- 17h 45m
- Frequency
- Once daily
- Estimated price
- €40–110
- Website
- https://www.flixbus.co.uk
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
How to plan an amazing trip around Scandinavia
Read the travel guide
Getting to Milan from the airport
Read the travel guide
More Questions & Answers
Odense to Milan bus services, operated by Danish Railways (DSB), arrive at Hamburg ZOB station.
Odense to Milan train services, operated by Danish Railways (DSB), arrive at Hamburg Hbf station.
Yes, the driving distance between Odense to Milan is 1415 km. It takes approximately 12h 45m to drive from Odense to Milan.
Book your Odense to Milan train tickets online with Omio.
Book your Odense to Milan bus tickets online with Omio.
There are 13890+ hotels available in Milan.





















































