There are 11 ways to get from Milan to Bergen 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 Milano Malpensa Airport, fly
best- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Bergen (BGO)plane MXP - BGO
6h 5mkr 971–3,736Train
- Take the train from Milano Centrale to Spieztrain Ec
- Take the train from Spiez to Hamburg-Altonatrain Ice
- Take the train from Hamburg-Altona to København Htrain Rj
- Take the train from København H to Oslo Strain Ic
- Take the train from Oslo S to Bergen stasjontrain F4
35hkr 5,839–10,555Bus
- Take the bus from Milano, Autostazione Lampugnano to Berlin, Zentralen Omnibusbahnhofbus N95
- Take the bus from Berlin, Zentralen Omnibusbahnhof to Oslo bussterminalbus
- Take the bus from Oslo bussterminal to Arna terminalbus
44h 40mkr 3,195–5,329Drive 2,611.7 km
- Drive from Milan to Bergencar 2,611.7 km
27h 26mkr 5,239–7,568Fly from Milan Linate Airport
- Fly from Milan Linate Airport (LIN) to Bergen (BGO)plane LIN - BGO
7h 3mkr 1,295–5,102Train to Turin Caselle Airport, fly
- Take the train from Milano Centrale to Torino Porta di Susatrain
- Fly from Turin Caselle Airport (TRN) to Bergen (BGO)plane TRN - BGO
9h 1mkr 1,973–5,192Train to Verona Villafranca Airport, fly
- Take the train from Milano Centrale to Verona Porta Nuovatrain
- Fly from Verona Villafranca Airport (VRN) to Bergen (BGO)plane VRN - BGO
10h 9mkr 1,348–6,011Bus to Il Caravaggio International Airport, fly
- Take the bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airportbus
- Fly from Il Caravaggio International Airport (BGY) to Bergen (BGO)plane BGY - BGO
6h 7mkr 977–5,015Train, bus
- Take the train from Milano Centrale to Basel Sbbtrain Ec
- Take the train from Basel SBB to Hamburg Hbftrain 20 / ...
- Take the bus from Hamburg, Zentraler Omnibusbahnhof to Oslo bussterminalbus
- Take the train from Oslo S to Bergen stasjontrain F4
35h 19mkr 3,572–6,374Bus, train
- Take the bus from Milano, Autostazione Lampugnano to SŁUBICE, Port Świecko, Świecko 39bus
- Take the bus from Słubice to Oslo bussterminalbus
- Take the train from Oslo S to Bergen stasjontrain F4
46h 55mkr 2,500–4,300Drive, car train
- Drive from Milan to Innsbruck Hauptbahnhofcar
- Take the cartrain from Innsbruck Hauptbahnhof to Hamburg-Harburgcartrain
- Drive from Hamburg-Harburg to Bergencar
32h 53mkr 4,682–6,685
Milan to Bergen by train
Comparing Your Travel Options
The cheapest way to get from Milan to Bergen is to bus and fly which costs kr 950 - kr 5000 and takes 6h 7m.
The fastest way to get from Milan to Bergen is to train and fly which takes 6h 5m and costs kr 950 - kr 3800.
No, there is no direct bus from Milan to Bergen. However, there are services departing from Milano, Autostazione Lampugnano and arriving at Arna terminal via Berlin, Zentralen Omnibusbahnhof and Oslo bussterminal. The journey, including transfers, takes approximately 44h 40m.
No, there is no direct train from Milan to Bergen. However, there are services departing from Milano Centrale and arriving at Bergen stasjon via Spiez, Hamburg-Altona, København H and Oslo S. The journey, including transfers, takes approximately 35h.
The distance between Milan and Bergen is 1708 km. The road distance is 2611.7 km.
The best way to get from Milan to Bergen without a car is to train which takes 35h and costs kr 5500 - kr 11000.
It takes approximately 6h 5m to get from Milan to Bergen, including transfers.
Milan to Bergen bus services, operated by FlixBus, depart from Milano, Autostazione Lampugnano station.
Milan to Bergen train services, operated by Trenitalia EuroCity, depart from Milano Centrale station.
The best way to get from Milan to Bergen is to train which takes 35h and costs kr 5500 - kr 11000. Alternatively, you can bus, which costs kr 3100 - kr 5500 and takes 44h 40m, you could also fly, which costs kr 1300 - kr 5500 and takes 7h 3m.
What companies run services between Milan, Italy and Bergen, Norway?
You can take a train from Milano Centrale to Bergen stasjon via Spiez, Hamburg-Altona, København H, and Oslo S in around 35h. Alternatively, you can take a bus from Milano, Autostazione Lampugnano to Bergen stasjon via Berlin, Zentralen Omnibusbahnhof, Oslo bussterminal, Arna terminal, and Arna stasjon in around 44h 40m.
- Website
- lufthansa.com
Flights from Milano Malpensa Airport to Bergen via Frankfurt
- Ave. Duration
- 4h 50m
- When
- Every day
- Estimated price
- kr 1,000–3,700
Flights from Milan Linate Airport to Bergen via Frankfurt
- Ave. Duration
- 5h 27m
- When
- Every day
- Estimated price
- kr 1,200–4,400
Flights from Milan Linate Airport to Bergen via Munich
- Ave. Duration
- 7h 5m
- When
- Monday, Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- kr 1,200–4,400
Flights from Turin Caselle Airport to Bergen via Frankfurt
- Ave. Duration
- 7h 27m
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- kr 1,200–4,400
Flights from Turin Caselle Airport to Bergen via Munich
- Ave. Duration
- 8h 25m
- When
- Sunday
- Estimated price
- kr 1,300–4,500
Flights from Verona Villafranca Airport to Bergen via Frankfurt
- Ave. Duration
- 7h 7m
- When
- Every day
- Estimated price
- kr 1,400–4,800
Flights from Verona Villafranca Airport to Bergen via Munich
- Ave. Duration
- 10h 5m
- When
- Monday, Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- kr 1,400–4,800
- Website
- klm.com
Flights from Milan Linate Airport to Bergen via Amsterdam Schiphol
- Ave. Duration
- 6h 28m
- When
- Every day
- Estimated price
- kr 900–4,600
Flights from Turin Caselle Airport to Bergen via Amsterdam Schiphol
- Ave. Duration
- 6h 10m
- When
- Every day
- Estimated price
- kr 900–4,600
Flights from Turin Caselle Airport to Bergen via Paris Charles de Gaulle
- Ave. Duration
- 5h 40m
- When
- Thursday and Sunday
- Estimated price
- kr 950–4,800
Flights from Verona Villafranca Airport to Bergen via Amsterdam Schiphol
- Ave. Duration
- 7h 40m
- When
- Friday
- Estimated price
- kr 1,000–5,500
- Website
- flysas.com
Flights from Milano Malpensa Airport to Bergen
- Ave. Duration
- 2h 35m
- When
- Saturday
- Estimated price
- kr 850–3,600
Flights from Milano Malpensa Airport to Bergen via Copenhagen
- Ave. Duration
- 4h 55m
- When
- Every day
- Estimated price
- kr 900–3,700
Flights from Milan Linate Airport to Bergen via Copenhagen
- Ave. Duration
- 7h
- When
- Sunday
- Estimated price
- kr 1,000–4,300
- Website
- norwegian.com
Flights from Turin Caselle Airport to Bergen via London Gatwick
- Ave. Duration
- 4h 40m
- When
- Friday
- Estimated price
- kr 950–3,800
Flights from Il Caravaggio International Airport to Bergen
- Ave. Duration
- 2h 30m
- When
- Wednesday
- Estimated price
- kr 950–3,800
Flights from Il Caravaggio International Airport to Bergen via Oslo
- Ave. Duration
- 4h 25m
- When
- Sunday
- Estimated price
- kr 1,000–4,000
- Website
- airfrance.com
Flights from Milan Linate Airport to Bergen via Paris Charles de Gaulle
- Ave. Duration
- 5h 15m
- When
- Thursday and Sunday
- Estimated price
- kr 1,000–4,800
Flights from Turin Caselle Airport to Bergen via Paris Charles de Gaulle
- Ave. Duration
- 5h 40m
- When
- Thursday and Sunday
- Estimated price
- kr 950–4,800
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- kr 45–60
- Website
- Trenord
- Phone
- +39 06 68475475
- [email protected]
- Website
- Trenitalia Eurocity
Train from Milano Centrale to Spiez
- Ave. Duration
- 2h 46m
- Frequency
- 3 times a day
- Estimated price
- kr 500–1,100
- Website
- Trenitalia Eurocity
- 1st Class
- kr 700–1,100
- 2nd Class
- kr 500–750
Train from Milano Centrale to Basel Sbb
- Ave. Duration
- 4h 21m
- Frequency
- 5 times a day
- Estimated price
- kr 800–1,400
- Website
- Trenitalia Eurocity
- 1st Class
- kr 950–1,400
- 2nd Class
- kr 800–1,100
Train from Spiez to Hamburg-Altona
- Ave. Duration
- 10h 11m
- Frequency
- 3 times a week
- Estimated price
- kr 3,800–6,500
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +47 70 13 14 15
- [email protected]
- Website
- Danish Railways
Train from Hamburg-Altona to København H
- Ave. Duration
- 4h 30m
- Frequency
- Twice daily
- Estimated price
- kr 409
- Website
- Danish Railways
- Phone
- +420 221 111 122
- [email protected]
- Website
- Czech Railways (ČD)
Train from Hamburg-Altona to København H
- Ave. Duration
- 4h 39m
- Frequency
- Twice daily
- Estimated price
- kr 480–700
- Website
- Czech Railways (ČD)
- Phone
- +46 40 669 62 00
- [email protected]
- Website
- Snälltåget
Train from København H to Oslo S
- Ave. Duration
- 6h 58m
- Frequency
- Once a week
- Estimated price
- kr 750–2,000
- Website
- Snälltåget
- Phone
- +47 61 05 19 10
- [email protected]
- Website
- Norwegian Railways (VY)
Train from Oslo S to Bergen stasjon
- Ave. Duration
- 6h 35m
- Frequency
- 5 times a day
- Estimated price
- kr 348
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Oslo S to Bergen stasjon
- Ave. Duration
- 6h 35m
- Frequency
- 5 times a day
- Estimated price
- kr 348
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Oslo S to Bergen stasjon
- Ave. Duration
- 6h 35m
- Frequency
- 5 times a day
- Estimated price
- kr 348
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Milano Centrale to Torino Porta di Susa
- Ave. Duration
- 48 min
- Frequency
- Hourly
- Estimated price
- kr 170–290
- Website
- Italo Treno
- Phone
- +39 06 5210550
- Website
- Trenitalia Frecce
Train from Milano Centrale to Verona Porta Nuova
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- kr 210–360
- Website
- Trenitalia Frecce
- Phone
- +49 30 2970
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Basel SBB to Hamburg Hbf
- Ave. Duration
- 6h 43m
- Frequency
- Hourly
- Estimated price
- kr 1,500–3,300
- Website
- Deutsche Bahn Intercity (DB IC)
- Phone
- +43 5 1717
- Website
- Österreichische Bundesbahnen
Train from Basel SBB to Hamburg Hbf
- Ave. Duration
- 9h 37m
- Frequency
- Twice daily
- Estimated price
- kr 1,700–2,600
- Website
- Österreichische Bundesbahnen
- Phone
- +49 (0) 221 800 20 820
- [email protected]
- Website
- Urlaubs-Express (UEX)
Car train from Innsbruck Hauptbahnhof to Hamburg-Harburg
- Ave. Duration
- 11h 5m
- Frequency
- Once a week
- Estimated price
- kr 1,000–1,300
- Website
- Urlaubs-Express (UEX)
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Milano, Autostazione Lampugnano to Berlin, Zentralen Omnibusbahnhof
- Ave. Duration
- 16h 10m
- Frequency
- Once daily
- Estimated price
- kr 1,000–1,600
- Website
- Flixbus
Bus from Berlin, Zentralen Omnibusbahnhof to Oslo bussterminal
- Ave. Duration
- 17h 10m
- Frequency
- Once daily
- Estimated price
- kr 950–1,500
- Website
- Flixbus
Bus from Hamburg, Zentraler Omnibusbahnhof to Oslo bussterminal
- Ave. Duration
- 14h 50m
- Frequency
- Once daily
- Estimated price
- kr 900–1,400
- Website
- Flixbus
- Phone
- +47 407 05070
- [email protected]
- Website
- Vy Buss
Bus from Oslo bussterminal to Arna terminal
- Ave. Duration
- 9h 4m
- Frequency
- Once a week
- Estimated price
- kr 1,200–2,300
- Website
- Vy Buss
- [email protected]
- Website
- TERRAVISION
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- kr 50–240
- Website
- TERRAVISION
- Phone
- 035.319366
- [email protected]
- Website
- orioshuttle.com
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- kr 120–150
- Schedules at
- orioshuttle.com
- Phone
- +48 77 443 44 44
- [email protected]
- Website
- Sindbad
Bus from Milano, Autostazione Lampugnano to SŁUBICE, Port Świecko, Świecko 39
- Ave. Duration
- 17h 20m
- Frequency
- Twice a week
- Estimated price
- kr 1,000–2,000
- Website
- Sindbad
Bus from Słubice to Oslo bussterminal
- Ave. Duration
- 21h
- Frequency
- Once a week
- Estimated price
- kr 1,100–2,000
- Website
- Sindbad
Want to know more about travelling around Norway
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
How to plan an amazing trip around Scandinavia
Read the travel guide
Italy Travel Guides
Read the travel guide
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Booking & Getting There
Milan to Bergen bus services, operated by FlixBus, arrive at Berlin, Zentralen Omnibusbahnhof station.
Milan to Bergen train services, operated by Trenitalia EuroCity, arrive at Spiez station.
Yes, the driving distance between Milan to Bergen is 2612 km. It takes approximately 27h 26m to drive from Milan to Bergen.
There are 692+ hotels available in Bergen.































































