There are 10 ways to get from Milan to Bergen by train, plane, train (Trenitalia), bus, car, night train, 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 1,022–3,937Bus to Il Caravaggio International Airport, fly
cheapest- 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 978–5,020Train
- Take the train from Milano Centrale to Zuerich Hbtrain Ec
- Take the train from Zürich HB 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
34h 53mkr 4,932–7,564Bus
- 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,285Drive 2,611.7 km
- Drive from Milan to Bergencar 2,611.7 km
27h 26mkr 5,321–7,685Fly from Milan Linate Airport
- Fly from Milan Linate Airport (LIN) to Bergen (BGO)plane LIN - BGO
7h 43mkr 1,395–5,103Train 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 8mkr 1,126–5,299Train, night train
- Take the train from Milano Centrale to Zuerich Hbtrain Ec
- Take the nighttrain from Zuerich Hb to Hamburg Hbfnighttrain Nj
- Take the train from Hamburg Hbf to København Htrain Ece / ...
- Take the train from København H to Oslo Strain Ic
- Take the train from Oslo S to Bergen stasjontrain F4
36h 45mkr 2,585–5,547Bus, 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,628–5,469Drive, car train
- Drive from Milan to Lörrach Hbfcar
- Take the cartrain from Lörrach Hbf to Hamburg Hbfcartrain
- Drive from Hamburg Hbf to Bergencar
31h 24mkr 4,584–6,644
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 1000 - kr 4000.
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 Zürich HB, Hamburg-Altona, København H and Oslo S. The journey, including transfers, takes approximately 34h 53m.
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 34h 53m and costs kr 4900 - kr 8000.
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 34h 53m and costs kr 4900 - kr 8000. Alternatively, you can bus, which costs kr 3100 - kr 5500 and takes 44h 40m, you could also fly, which costs kr 1400 - kr 5500 and takes 7h 43m.
What companies run services between Milan, Italy and Bergen, Norway?
You can take a train from Milano Centrale to Bergen stasjon via Zuerich Hb, Zürich HB, Hamburg-Altona, København H, and Oslo S in around 34h 53m. 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 Munich
- Ave. Duration
- 4h 40m
- When
- Monday, Thursday, and Saturday
- Estimated price
- kr 1,100–4,000
Flights from Milano Malpensa Airport to Bergen via Frankfurt
- Ave. Duration
- 5h 5m
- When
- Monday, Tuesday, Thursday, Friday, and Saturday
- Estimated price
- kr 1,100–3,900
Flights from Milan Linate Airport to Bergen via Frankfurt
- Ave. Duration
- 5h 36m
- When
- Every day
- Estimated price
- kr 1,300–4,500
Flights from Milan Linate Airport to Bergen via Munich
- Ave. Duration
- 7h 45m
- When
- Monday, Thursday, and Saturday
- Estimated price
- kr 1,300–4,600
Flights from Turin Caselle Airport to Bergen via Frankfurt
- Ave. Duration
- 7h 40m
- When
- Every day
- Estimated price
- kr 1,300–4,700
Flights from Turin Caselle Airport to Bergen via Munich
- Ave. Duration
- 7h 40m
- When
- Monday, Thursday, and Saturday
- Estimated price
- kr 1,400–4,900
- Website
- klm.com
Flights from Milan Linate Airport to Bergen via Amsterdam Schiphol
- Ave. Duration
- 6h 11m
- When
- Every day
- Estimated price
- kr 950–4,700
Flights from Turin Caselle Airport to Bergen via Amsterdam Schiphol
- Ave. Duration
- 6h 12m
- When
- Every day
- Estimated price
- kr 950–4,900
Flights from Turin Caselle Airport to Bergen via Paris Charles de Gaulle
- Ave. Duration
- 5h 20m
- When
- Monday, Friday, and Saturday
- Estimated price
- kr 1,000–5,000
- Website
- flysas.com
Flights from Milano Malpensa Airport to Bergen
- Ave. Duration
- 2h 35m
- When
- Saturday
- Estimated price
- kr 900–3,800
Flights from Milano Malpensa Airport to Bergen via Copenhagen
- Ave. Duration
- 4h 35m
- When
- Every day
- Estimated price
- kr 950–3,900
Flights from Milan Linate Airport to Bergen via Copenhagen
- Ave. Duration
- 6h 55m
- When
- Saturday and Sunday
- Estimated price
- kr 1,100–4,600
Flights from Turin Caselle Airport to Bergen via Copenhagen
- Ave. Duration
- 7h 45m
- When
- Saturday
- Estimated price
- kr 1,100–4,800
- Website
- norwegian.com
Flights from Il Caravaggio International Airport to Bergen
- Ave. Duration
- 2h 30m
- When
- Wednesday and Saturday
- Estimated price
- kr 1,000–4,100
Flights from Il Caravaggio International Airport to Bergen via Oslo
- Ave. Duration
- 5h 10m
- When
- Thursday and Sunday
- Estimated price
- kr 1,000–4,300
- Website
- airfrance.com
Flights from Turin Caselle Airport to Bergen via Paris Charles de Gaulle
- Ave. Duration
- 5h 20m
- When
- Monday, Friday, and Saturday
- Estimated price
- kr 1,000–5,000
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- 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
- ufficiogruppi@trenitalia.it
- Website
- Trenitalia Eurocity
Train from Milano Centrale to Zuerich Hb
- Ave. Duration
- 3h 17m
- Frequency
- Hourly
- Estimated price
- kr 600–1,100
- Website
- Trenitalia Eurocity
- 1st Class
- kr 750–1,100
- 2nd Class
- kr 600–800
Train from Milano Centrale to Zuerich Hb
- Ave. Duration
- 3h 17m
- Frequency
- Hourly
- Estimated price
- kr 600–1,100
- Website
- Trenitalia Eurocity
- 1st Class
- kr 750–1,100
- 2nd Class
- kr 600–800
Train from Zürich HB to Hamburg-Altona
- Ave. Duration
- 9h 33m
- Frequency
- 6 times a week
- Estimated price
- kr 2,900–4,200
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +47 70 13 14 15
- kundehenv@dsb.dk
- Website
- Danish Railways
Train from Hamburg-Altona to København H
- Ave. Duration
- 4h 30m
- Frequency
- Twice daily
- Estimated price
- kr 417
- Website
- Danish Railways
Train from Hamburg Hbf to København H
- Ave. Duration
- 5h 1m
- Frequency
- Every 4 hours
- Estimated price
- kr 421
- Website
- Danish Railways
- Phone
- +420 221 111 122
- info@cd.cz
- Website
- Czech Railways (ČD)
Train from Hamburg-Altona to København H
- Ave. Duration
- 4h 30m
- Frequency
- 4 times a day
- Estimated price
- kr 417
- Website
- Czech Railways (ČD)
Train from Hamburg Hbf to København H
- Ave. Duration
- 5h 10m
- Frequency
- 4 times a day
- Estimated price
- kr 421
- Website
- Czech Railways (ČD)
- Phone
- +46 40 669 62 00
- snalltaget@snalltaget.se
- Website
- Snälltåget
Train from København H to Oslo S
- Ave. Duration
- 6h 58m
- Frequency
- Once a week
- Estimated price
- kr 650–1,500
- Website
- Snälltåget
Train from Hamburg Hbf to København H
- Ave. Duration
- 5h 52m
- Frequency
- Once a week
- Estimated price
- kr 500–1,100
- Website
- Snälltåget
Train from København H to Oslo S
- Ave. Duration
- 6h 58m
- Frequency
- Once a week
- Estimated price
- kr 650–1,500
- Website
- Snälltåget
- Phone
- +47 61 05 19 10
- tog@vy.no
- Website
- Norwegian Railways (VY)
Train from Oslo S to Bergen stasjon
- Ave. Duration
- 6h 35m
- Frequency
- 5 times a day
- Estimated price
- kr 355
- 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 355
- 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 355
- 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
- Every 2 hours
- Estimated price
- kr 170–290
- Website
- Italo Treno
- Phone
- +43 (0) 51717
- Website
- Nightjet
Night train from Zuerich Hb to Hamburg Hbf
- Ave. Duration
- 10h 54m
- Frequency
- 4 times a day
- Estimated price
- kr 550–1,500
- Website
- Nightjet
- Sleeper Carriage
- kr 1,100–1,500
- Couchette Carriage
- kr 850–1,000
- Seating Carriage
- kr 550–700
- Phone
- +49 (0) 221 800 20 820
- info@urlaubs-express.de
- Website
- Urlaubs-Express (UEX)
Car train from Lörrach Hbf to Hamburg Hbf
- Ave. Duration
- 10h 6m
- Frequency
- Once a week
- Estimated price
- kr 1,000–1,300
- Website
- Urlaubs-Express (UEX)
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Milano, Autostazione Lampugnano to Berlin, Zentralen Omnibusbahnhof
- Ave. Duration
- 16h 10m
- Frequency
- Once daily
- Estimated price
- kr 950–1,500
- Website
- Flixbus
Bus from Berlin, Zentralen Omnibusbahnhof to Oslo bussterminal
- Ave. Duration
- 17h 10m
- Frequency
- Once daily
- Estimated price
- kr 900–1,400
- Website
- Flixbus
- Phone
- +47 407 05070
- buss@vy.no
- Website
- Vy Buss
Bus from Oslo bussterminal to Arna terminal
- Ave. Duration
- 9h 4m
- Frequency
- Once a week
- Estimated price
- kr 1,300–2,400
- Website
- Vy Buss
- customerservices@terravision.eu
- 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
- ticket@orioshuttle.com
- 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–160
- Schedules at
- orioshuttle.com
- Phone
- +48 77 443 44 44
- bilety@sindbad.pl
- 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,600
- Website
- Sindbad
Bus from Słubice to Oslo bussterminal
- Ave. Duration
- 21h
- Frequency
- Once a week
- Estimated price
- kr 1,200–2,600
- 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 guideItaly Travel Guides
Read the travel guideHeading to Europe? Read this before you buy a Eurail Pass
Read the travel guideBooking & 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 Zuerich Hb 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 699+ hotels available in Bergen.