There are 12 ways to get from Oslo to Milan by train, plane, train (Trenitalia), bus, 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 Oslo Airport, Gardermoen, fly to Milan Linate Airport
best- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Milan Linate Airport (LIN)plane OSL - LIN
6h 51m€121–507Train to Oslo Airport, Gardermoen, fly to Milano Malpensa Airport, train
cheapest- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Milano Malpensa Airport (MXP)plane OSL - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
6h 5m€69–320Train via Hamburg
- Take the train from Oslo S to Göteborg Centralstationtrain
- Take the train from Göteborg Centralstation to Köpenhamn Htrain
- Take the train from Koebenhavn H to Hamburg-Altonatrain Rj / ...
- Take the train from Hamburg-Altona to Brigtrain Ice
- Take the train from Domodossola to Milano Centraletrain Ec
29h 5m€607–1,514Bus
- Take the bus from Oslo bussterminal to Hamburg, Zentraler Omnibusbahnhofbus N613
- Take the bus from Hamburg central bus station to Milanbus FlixBus N24
33h 42m€173–287Drive 2,169.6 km
- Drive from Oslo to Milancar 2,169.6 km
20h 22m€401–578Train to Oslo Airport, Gardermoen, fly to Il Caravaggio International Airport, bus
- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Il Caravaggio International Airport (BGY)plane OSL - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
6h 2m€90–359Train to Sandefjord Airport, fly to Il Caravaggio International Airport, bus
- Take the train from Oslo S to Sandefjord stasjontrain
- Fly from Sandefjord Airport (TRF) to Il Caravaggio International Airport (BGY)plane TRF - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
8h 3m€88–308Train to Oslo Airport, Gardermoen, fly to Verona Villafranca Airport, train
- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Verona Villafranca Airport (VRN)plane OSL - VRN
- Take the train from Verona Porta Nuova to Milano Centraletrain
8h 21m€122–386Train, bus
- Take the train from Oslo S to Malmö, Centralstationtrain Ic
- Take the train from Malmö, Centralstation to München Osttrain 305
- Take the bus from München Hackerbrücke to Verona Porta Nuova Stationbus
- Take the train from Verona Porta Nuova to Milano Centraletrain Fr
29h 33mTrain
- Take the train from Oslo S to Malmö, Centralstationtrain 31
- Take the train from Malmö, Centralstation to Innsbruck Hbftrain 305
- Take the train from Brennero - Brenner to Bolzano Bozentrain Re
- Take the train from Bolzano Bozen to Milano Centraletrain Fr
36h 11m€320–547Bus via Kunowice
- Take the bus from Oslo bussterminal to Słubicebus
- Take the bus from SŁUBICE, Port Świecko, Świecko 39 to Milano, Autostazione Lampugnanobus
39h 35m€214–491Drive, car train
- Drive from Oslo to Hamburg Hbfcar
- Take the cartrain from Hamburg Hbf to Lörrach Hbfcartrain
- Drive from Lörrach Hbf to Milancar
24h 17m€346–483
Oslo to Milan by train
Comparing Your Travel Options
The cheapest way to get from Oslo to Milan is to train and fly which costs €65 - €320 and takes 6h 5m.
The fastest way to get from Oslo to Milan is to train and fly and bus which takes 6h 2m and costs €85 - €360.
No, there is no direct bus from Oslo to Milan. However, there are services departing from Oslo bussterminal and arriving at Milano, Autostazione Lampugnano via Hamburg central bus station and via omodeo via cechov. The journey, including transfers, takes approximately 33h 42m.
No, there is no direct train from Oslo to Milan. However, there are services departing from Oslo S and arriving at Milano Centrale via Göteborg Centralstation, Koebenhavn H, Hamburg-Altona, Brig and Domodossola. The journey, including transfers, takes approximately 29h 5m.
The distance between Oslo and Milan is 1698 km. The road distance is 2169.6 km.
The best way to get from Oslo to Milan without a car is to train via Hamburg which takes 29h 5m and costs €600 - €1600.
It takes approximately 6h 51m to get from Oslo to Milan, including transfers.
Oslo to Milan bus services, operated by FlixBus, depart from Oslo bussterminal station.
Oslo to Milan train services, operated by Norwegian Railways (VY), depart from Oslo S station.
The best way to get from Oslo to Milan is to train via Hamburg which takes 29h 5m and costs €600 - €1600. Alternatively, you can bus, which costs €170 - €290 and takes 33h 42m.
What companies run services between Oslo, Norway and Milan, Italy?
You can take a train from Oslo S to Milano Centrale via Göteborg Centralstation, Köpenhamn H, Koebenhavn H, Hamburg-Altona, Brig, and Domodossola in around 29h 5m. Alternatively, you can take a bus from Oslo bussterminal to Milano, Autostazione Lampugnano via Hamburg central bus station, Milan, and via omodeo via cechov in around 33h 42m.
- Website
- lufthansa.com
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Frankfurt
- Ave. Duration
- 5h 6m
- When
- Every day
- Estimated price
- €95–330
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Munich
- Ave. Duration
- 5h 55m
- When
- Every day
- Estimated price
- €95–330
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport via Munich
- Ave. Duration
- 4h 40m
- When
- Every day
- Estimated price
- €80–270
Flights from Oslo Airport, Gardermoen to Verona Villafranca Airport via Munich
- Ave. Duration
- 5h 42m
- When
- Every day
- Estimated price
- €90–380
Flights from Oslo Airport, Gardermoen to Verona Villafranca Airport via Frankfurt
- Ave. Duration
- 6h 42m
- When
- Every day
- Estimated price
- €100–370
- Website
- norwegian.com
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- €65–180
Flights from Oslo Airport, Gardermoen to Il Caravaggio International Airport
- Ave. Duration
- 2h 35m
- When
- Thursday and Sunday
- Estimated price
- €65–260
Flights from Oslo Airport, Gardermoen to Il Caravaggio International Airport via Stavanger
- Ave. Duration
- 4h 25m
- When
- Wednesday
- Estimated price
- €70–280
- Website
- flysas.com
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Copenhagen
- Ave. Duration
- 5h 10m
- When
- Saturday and Sunday
- Estimated price
- €75–550
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport
- Ave. Duration
- 2h 40m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €65–280
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport via Copenhagen
- Ave. Duration
- 4h 48m
- When
- Every day
- Estimated price
- €65–280
- Website
- ryanair.com
Flights from Sandefjord Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 35m
- When
- Sunday, Friday, Monday, Wednesday, Thursday, and Saturday
- Estimated price
- €60–250
Flights from Sandefjord Airport to Il Caravaggio International Airport via Krakow
- Ave. Duration
- 6h 5m
- When
- Saturday and Sunday
- Estimated price
- €70–270
- Website
- swiss.com
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport via Zurich
- Ave. Duration
- 4h 45m
- When
- Every day
- Estimated price
- €75–250
- Website
- klm.com
Flights from Oslo Airport, Gardermoen to Verona Villafranca Airport via Amsterdam Schiphol
- Ave. Duration
- 5h 58m
- When
- Monday
- Estimated price
- €85–400
- Website
- brusselsairlines.com
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Brussels
- Ave. Duration
- 5h 35m
- When
- Monday to Saturday
- Estimated price
- €70–260
- Website
- airdolomiti.it
Flights from Oslo Airport, Gardermoen to Verona Villafranca Airport via Munich
- Ave. Duration
- 4h
- When
- Sunday
- Estimated price
- €90–380
- Website
- transavia.com
Flights from Oslo Airport, Gardermoen to Verona Villafranca Airport via Amsterdam Schiphol
- Ave. Duration
- 5h 55m
- When
- Monday
- Estimated price
- €85–340
- Phone
- +47 23 15 90 00
- flytoget@flytoget.no
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- €20–23
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- €20–23
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- €20–23
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- €20–23
- Website
- Flytoget AS
- Phone
- +47 61 05 19 10
- tog@vy.no
- Website
- Norwegian Railways (VY)
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 40 min
- Frequency
- Every 30 minutes
- Estimated price
- €9–14
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Oslo S to Göteborg Centralstation
- Ave. Duration
- 3h 31m
- Frequency
- Every 4 hours
- Estimated price
- €65–95
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 40 min
- Frequency
- Every 30 minutes
- Estimated price
- €9–14
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 40 min
- Frequency
- Every 30 minutes
- Estimated price
- €9–14
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Oslo S to Sandefjord stasjon
- Ave. Duration
- 1h 37m
- Frequency
- Hourly
- Estimated price
- €23–35
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 40 min
- Frequency
- Every 30 minutes
- Estimated price
- €9–14
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Oslo S to Malmö, Centralstation
- Ave. Duration
- 6h 10m
- Frequency
- Once a week
- Estimated price
- €120–180
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
- Phone
- +46 771-77 77 1
- bokningssupporten@oresundstag.se
- Website
- Öresundståg
Train from Göteborg Centralstation to Köpenhamn H
- Ave. Duration
- 3h 33m
- Frequency
- Hourly
- Estimated price
- €50–95
- Website
- Öresundståg
- Phone
- +47 70 13 14 15
- kundehenv@dsb.dk
- Website
- Danish Railways
Train from Koebenhavn H to Hamburg-Altona
- Ave. Duration
- 4h 26m
- Frequency
- Every 4 hours
- Estimated price
- €95–140
- Website
- Danish Railways
Train from Hamburg-Altona to Brig
- Ave. Duration
- 10h 47m
- Frequency
- Once a week
- Estimated price
- €360–1,100
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- Trenitalia Eurocity
Train from Domodossola to Milano Centrale
- Ave. Duration
- 1h 33m
- Frequency
- 4 times a week
- Estimated price
- €30–75
- Website
- Trenitalia Eurocity
- 1st Class
- €50–75
- 2nd Class
- €30–45
Train from Verona Porta Nuova to Milano Centrale
- Ave. Duration
- 1h 23m
- Frequency
- 4 times a day
- Estimated price
- €35–85
- Website
- Trenitalia Eurocity
- 1st Class
- €55–85
- 2nd Class
- €35–50
Train from Verona Porta Nuova to Milano Centrale
- Ave. Duration
- 1h 23m
- Frequency
- 4 times a day
- Estimated price
- €35–85
- Website
- Trenitalia Eurocity
- 1st Class
- €55–85
- 2nd Class
- €35–50
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- Trenord
- Phone
- +39 06 68475475
- Website
- Trenitalia Frecce
Train from Verona Porta Nuova to Milano Centrale
- Ave. Duration
- 1h 13m
- Frequency
- Every 30 minutes
- Estimated price
- €21–45
- Schedules at
- Trenitalia Frecce
Train from Verona Porta Nuova to Milano Centrale
- Ave. Duration
- 1h 13m
- Frequency
- Every 30 minutes
- Estimated price
- €21–45
- Schedules at
- Trenitalia Frecce
Train from Bolzano Bozen to Milano Centrale
- Ave. Duration
- 3h
- Frequency
- Twice daily
- Estimated price
- €40–85
- Schedules at
- Trenitalia Frecce
- Phone
- +46 40 669 62 00
- snalltaget@snalltaget.se
- Website
- Snälltåget
Train from Oslo S to Malmö, Centralstation
- Ave. Duration
- 6h 37m
- Frequency
- Once daily
- Estimated price
- €70–110
- Website
- Snälltåget
Train from Malmö, Centralstation to München Ost
- Ave. Duration
- 15h 58m
- Frequency
- Once a week
- Estimated price
- €140–230
- Website
- Snälltåget
Train from Oslo S to Malmö, Centralstation
- Ave. Duration
- 6h 37m
- Frequency
- Once daily
- Estimated price
- €70–110
- Website
- Snälltåget
Train from Malmö, Centralstation to Innsbruck Hbf
- Ave. Duration
- 22h 7m
- Frequency
- Once a week
- Estimated price
- €190–300
- Website
- Snälltåget
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Brennero - Brenner to Bolzano Bozen
- Ave. Duration
- 1h 21m
- Frequency
- Every 30 minutes
- Estimated price
- €11–18
- Website
- Trenitalia
- Phone
- _AUSTRIAN_RAILWAYS_(ÖBB)
- Website
- Austrian Railways
Train from Brennero - Brenner to Bolzano Bozen
- Ave. Duration
- 1h 19m
- Frequency
- 4 times a day
- Estimated price
- €18–35
- Website
- Austrian Railways
- Phone
- +49 (0) 221 800 20 820
- info@urlaubs-express.de
- Website
- Urlaubs-Express (UEX)
Car train from Hamburg Hbf to Lörrach Hbf
- Ave. Duration
- 10h
- Frequency
- Once a week
- Estimated price
- €100–120
- Website
- Urlaubs-Express (UEX)
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Oslo bussterminal to Hamburg, Zentraler Omnibusbahnhof
- Ave. Duration
- 14h 25m
- Frequency
- Once daily
- Estimated price
- €75–130
- Website
- Flixbus
Bus from Hamburg central bus station to Milan
- Ave. Duration
- 17h 45m
- Frequency
- Once daily
- Estimated price
- €95–160
- Website
- Flixbus
- customerservices@terravision.eu
- Website
- TERRAVISION
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–25
- Website
- TERRAVISION
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–25
- Website
- TERRAVISION
- Phone
- +39 0362 185 0590
- info@onebus.it
- Website
- Onebus
Bus from München Hackerbrücke to Verona Porta Nuova Station
- Ave. Duration
- 3h 16m
- Frequency
- 3 times a week
- Website
- Onebus
- Phone
- +48 77 443 44 44
- bilety@sindbad.pl
- Website
- Sindbad
Bus from Oslo bussterminal to Słubice
- Ave. Duration
- 21h 50m
- Frequency
- Once a week
- Estimated price
- €110–250
- Website
- Sindbad
Bus from SŁUBICE, Port Świecko, Świecko 39 to Milano, Autostazione Lampugnano
- Ave. Duration
- 16h 45m
- Frequency
- Twice a week
- Estimated price
- €100–250
- Website
- Sindbad
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
Booking & Getting There
Oslo to Milan bus services, operated by FlixBus, arrive at Hamburg, Zentraler Omnibusbahnhof station.
Oslo to Milan train services, operated by Norwegian Railways (VY), arrive at Göteborg Centralstation.
Yes, the driving distance between Oslo to Milan is 2170 km. It takes approximately 20h 22m to drive from Oslo to Milan.
Book your Oslo to Milan train tickets online with Omio.
Book your Oslo to Milan bus tickets online with Omio.
There are 14359+ hotels available in Milan.


















































