There are 10 ways to get from Oslo to Milan by train, plane, bus, car, train (Trenitalia), 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€115–557Train 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€68–340Train via Hamburg
- Take the train from Oslo S to København Htrain Ic
- Take the train from København H to Hamburg Hbftrain Ece / ...
- Take the train from Hamburg Hbf to Basel SBBtrain Ec
- Take the train from Basel SBB to Luganotrain Ec
- Take the train from Lugano to Milano Centraletrain
26h 14m€379–737Bus
- Take the bus from Oslo bussterminal to Hamburg, Zentraler Omnibusbahnhofbus N613
- Take the bus from Hamburg central bus station to Milanbus FlixBus N24
33h 41m€174–269Drive 2,169.6 km
- Drive from Oslo to Milancar 2,169.6 km
20h 22m€416–601Train 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
5h 55m€79–267Train 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
7h 49m€79–392Train
- 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€278–587Bus 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–476Drive, 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 18m€359–494
Oslo to Milan by train
Comparing Your Travel Options
The cheapest way to get from Oslo to Milan is to train and fly and bus which costs €75 - €270 and takes 5h 55m.
The fastest way to get from Oslo to Milan is to train and fly and bus which takes 5h 55m and costs €75 - €270.
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 41m.
No, there is no direct train from Oslo to Milan. However, there are services departing from Oslo S and arriving at Milano Centrale via København H, Hamburg Hbf, Basel SBB and Lugano. The journey, including transfers, takes approximately 26h 14m.
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 26h 14m and costs €370 - €750.
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 Snälltåget, depart from Oslo S station.
The best way to get from Oslo to Milan is to train via Hamburg which takes 26h 14m and costs €370 - €750. Alternatively, you can bus, which costs €170 - €270 and takes 33h 41m.
What companies run services between Oslo, Norway and Milan, Italy?
You can take a train from Oslo S to Milano Centrale via København H, Hamburg Hbf, Basel SBB, and Lugano in around 26h 14m. 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 41m.
- Website
- norwegian.com
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- €70–200
Flights from Oslo Airport, Gardermoen to Il Caravaggio International Airport
- Ave. Duration
- 2h 35m
- When
- Thursday and Sunday
- Estimated price
- €65–280
Flights from Oslo Airport, Gardermoen to Il Caravaggio International Airport via Stavanger
- Ave. Duration
- 4h 25m
- When
- Wednesday
- Estimated price
- €70–290
Flights from Oslo Airport, Gardermoen to Il Caravaggio International Airport via Bergen
- Ave. Duration
- 4h 51m
- When
- Wednesday and Saturday
- Estimated price
- €70–300
- Website
- flysas.com
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Copenhagen
- Ave. Duration
- 5h 10m
- When
- Saturday and Sunday
- Estimated price
- €110–550
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport
- Ave. Duration
- 2h 40m
- When
- Monday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €60–700
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport via Copenhagen
- Ave. Duration
- 5h 9m
- When
- Every day
- Estimated price
- €60–700
- 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 43m
- When
- Every day
- Estimated price
- €95–340
- Website
- ryanair.com
Flights from Sandefjord Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 35m
- When
- Friday to Saturday
- Estimated price
- €65–320
- Website
- brusselsairlines.com
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Brussels
- Ave. Duration
- 5h 35m
- When
- Monday to Saturday
- Estimated price
- €65–270
- Website
- swiss.com
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport via Zurich
- Ave. Duration
- 4h 30m
- When
- Every day
- Estimated price
- €65–270
- 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
- €21–23
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- €21–23
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- €21–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
- 30 min
- Frequency
- Every 30 minutes
- Estimated price
- €4
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 30 min
- Frequency
- Every 30 minutes
- Estimated price
- €4
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 30 min
- Frequency
- Every 30 minutes
- Estimated price
- €4
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Oslo S to Sandefjord stasjon
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- €9
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
- Phone
- +46 40 669 62 00
- snalltaget@snalltaget.se
- Website
- Snälltåget
Train from Oslo S to København H
- Ave. Duration
- 6h 58m
- Frequency
- Once a week
- Estimated price
- €65–140
- Website
- Snälltåget
Train from København H to Hamburg Hbf
- Ave. Duration
- 5h 17m
- Frequency
- Twice a week
- Estimated price
- €45–100
- Website
- Snälltåget
Train from Oslo S to Malmö, Centralstation
- Ave. Duration
- 6h 37m
- Frequency
- Once daily
- Estimated price
- €60–130
- Website
- Snälltåget
Train from Malmö, Centralstation to Innsbruck Hbf
- Ave. Duration
- 22h 7m
- Frequency
- Once a week
- Estimated price
- €160–340
- Website
- Snälltåget
- Phone
- +47 70 13 14 15
- kundehenv@dsb.dk
- Website
- Danish Railways
Train from København H to Hamburg Hbf
- Ave. Duration
- 4h 42m
- Frequency
- Every 3 hours
- Estimated price
- €40
- Website
- Danish Railways
Train from Hamburg Hbf to Basel SBB
- Ave. Duration
- 6h 41m
- Frequency
- Once a week
- Estimated price
- €240–360
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Basel SBB to Lugano
- Ave. Duration
- 2h 54m
- Frequency
- Every 3 hours
- Estimated price
- €75–110
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Lugano to Milano Centrale
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €22–35
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- SBB GmbH
Train from Basel SBB to Lugano
- Ave. Duration
- 3h 21m
- Frequency
- Once daily
- Estimated price
- €17–22
- Schedules at
- SBB GmbH
- 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.5210550
- Website
- Trenitalia
Train from Brennero - Brenner to Bolzano Bozen
- Ave. Duration
- 1h 21m
- Frequency
- Every 30 minutes
- Estimated price
- €10–15
- 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
- €17–35
- Website
- Austrian Railways
- Phone
- +39 06 5210550
- Website
- Trenitalia Frecce
Train from Bolzano Bozen to Milano Centrale
- Ave. Duration
- 3h
- Frequency
- Twice daily
- Estimated price
- €40–70
- Website
- Trenitalia Frecce
- 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
- 5 times a week
- Estimated price
- €75–120
- Website
- Flixbus
Bus from Hamburg central bus station to Milan
- Ave. Duration
- 17h 45m
- Frequency
- Once daily
- Estimated price
- €95–150
- 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–23
- 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–23
- Website
- TERRAVISION
- Phone
- 035.319366
- ticket@orioshuttle.com
- Website
- orioshuttle.com
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €11–14
- Schedules at
- orioshuttle.com
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €11–14
- Schedules at
- orioshuttle.com
- 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–240
- 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–240
- 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 guideHow to plan an amazing trip around Scandinavia
Read the travel guideGetting to Milan from the airport
Read the travel guideBooking & Getting There
Oslo to Milan bus services, operated by FlixBus, arrive at Hamburg, Zentraler Omnibusbahnhof station.
Oslo to Milan train services, operated by Snälltåget, arrive at København H station.
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 13888+ hotels available in Milan.