There are 9 ways to get from Berlin to Milan by plane, train, 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.
Fly to Milan Linate Airport
best- Fly from Berlin Brandenburg Airport (BER) to Milan Linate Airport (LIN)plane BER - LIN
4h 24m€49–254Train via Frankfurt am Main
- Take the train from Berlin Hbf to Frankfurttrain 12 / ...
- Take the train from Frankfurt to Basel SBBtrain 12 / ...
- Take the train from Basel SBB to Luganotrain Ec
- Take the train from Lugano to Milano Centraletrain
13h 42m€192–516Bus
- Take the bus from Berlin, Zentralen Omnibusbahnhof to Milano, Autostazione Lampugnanobus N95
15h 55m€100–150Night train, bus
- Take the nighttrain from Berlin Hbf to Zuerich Hbnighttrain Nj
- Take the bus from Zürich to Milano, Autostazione Lampugnanobus BlaBlaCar Bus
16h 57m€72–168Fly to Milano Malpensa Airport, train
- Fly from Berlin Brandenburg Airport (BER) to Milano Malpensa Airport (MXP)plane BER - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
5h 18m€57–197Fly to Il Caravaggio International Airport, bus
- Fly from Berlin Brandenburg Airport (BER) to Il Caravaggio International Airport (BGY)plane BER - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
5h 13m€83–324Drive, car train
- Drive from Berlin to Lüneburgcar
- Take the cartrain from Lüneburg to Lörrach Hbfcartrain
- Drive from Lörrach Hbf to Milancar
16h€195–258Train
- Take the train from Berlin Hbf to Zürich HBtrain 12N
- Take the train from Zürich HB to Como S. Giovannitrain Ec
- Take the train from Como S.Giovanni to Milano Porta Garibalditrain S11
17h 8m€263–422Drive 1,011.2 km
- Drive from Berlin to Milancar 1,011.2 km
9h 50m€163–236
Berlin to Milan by train
Comparing Your Travel Options
The cheapest way to get from Berlin to Milan is to fly and train which costs €55 - €200 and takes 5h 18m.
The fastest way to get from Berlin to Milan is to fly which takes 4h 24m and costs €45 - €260.
Yes, there is a direct bus departing from Berlin, Zentralen Omnibusbahnhof and arriving at Milano, Autostazione Lampugnano. Services depart once daily, and operate every day. The journey takes approximately 15h 55m.
No, there is no direct train from Berlin to Milan. However, there are services departing from Berlin Hbf and arriving at Milano Centrale via Frankfurt, Basel SBB and Lugano. The journey, including transfers, takes approximately 13h 42m.
The distance between Berlin and Milan is 862 km. The road distance is 1011.2 km.
The best way to get from Berlin to Milan without a car is to train via Frankfurt am Main which takes 13h 42m and costs €190 - €550.
It takes approximately 4h 24m to get from Berlin to Milan, including transfers.
Berlin to Milan bus services, operated by FlixBus, depart from Berlin, Zentralen Omnibusbahnhof station.
Berlin to Milan train services, operated by Deutsche Bahn Intercity (DB IC), depart from Berlin Hbf station.
The best way to get from Berlin to Milan is to fly which takes 4h 24m and costs €45 - €260. Alternatively, you can train via Frankfurt am Main, which costs €190 - €550 and takes 13h 42m, you could also bus, which costs €100 - €150 and takes 15h 55m.
What companies run services between Berlin, Germany and Milan, Italy?
easyJet, Lufthansa, and four other airlines fly from Berlin Brandenburg Airport (BER) to Milan Linate Airport (LIN) every 2 hours. Alternatively, you can take a train from Berlin Hbf to Milano Centrale via Frankfurt, Basel SBB, and Lugano in around 13h 42m.
- Website
- lufthansa.com
Flights from Berlin Brandenburg Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 33m
- When
- Every day
- Estimated price
- €130–550
Flights from Berlin Brandenburg Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 35m
- When
- Every day
- Estimated price
- €130–280
Flights from Berlin Brandenburg Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 3h 30m
- When
- Every day
- Estimated price
- €80–450
Flights from Berlin Brandenburg Airport to Milano Malpensa Airport via Munich
- Ave. Duration
- 3h 30m
- When
- Tuesday, Thursday, Friday, and Sunday
- Estimated price
- €80–290
- Website
- easyjet.com
Flights from Berlin Brandenburg Airport to Milan Linate Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €45–200
Flights from Berlin Brandenburg Airport to Milan Linate Airport via Geneva
- Ave. Duration
- 4h 15m
- When
- Thursday
- Estimated price
- €45–200
Flights from Berlin Brandenburg Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Monday and Friday
- Estimated price
- €50–160
- Website
- ryanair.com
Flights from Berlin Brandenburg Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €55–170
Flights from Berlin Brandenburg Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €75–250
Flights from Berlin Brandenburg Airport to Il Caravaggio International Airport via Budapest
- Ave. Duration
- 4h 25m
- When
- Thursday
- Estimated price
- €75–250
- Website
- ita-airways.com
Flights from Berlin Brandenburg Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 45m
- When
- Every day
- Estimated price
- €130–550
Flights from Berlin Brandenburg Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 35m
- When
- Every day
- Estimated price
- €130–280
Flights from Berlin Brandenburg Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 3h 15m
- When
- Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- €130–450
Flights from Berlin Brandenburg Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 25m
- When
- Every day
- Estimated price
- €70–280
- Website
- eurowings.com
Flights from Berlin Brandenburg Airport to Milan Linate Airport via Dusseldorf
- Ave. Duration
- 3h 35m
- When
- Thursday
- Estimated price
- €110–210
Flights from Berlin Brandenburg Airport to Milan Linate Airport via Stuttgart
- Ave. Duration
- 4h
- When
- Wednesday and Thursday
- Estimated price
- €110–210
Flights from Berlin Brandenburg Airport to Milano Malpensa Airport via Dusseldorf
- Ave. Duration
- 4h
- When
- Thursday and Monday
- Estimated price
- €60–250
Flights from Berlin Brandenburg Airport to Milano Malpensa Airport via Cologne Bonn
- Ave. Duration
- 4h 5m
- When
- Sunday
- Estimated price
- €60–250
- Website
- swiss.com
Flights from Berlin Brandenburg Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 21m
- When
- Every day
- Estimated price
- €70–280
- Website
- flyulendo.com
Flights from Berlin Brandenburg Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €20–110
- Website
- condor.com
Flights from Berlin Brandenburg Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 3h 25m
- When
- Every day
- Estimated price
- €85–160
- Phone
- +49 30 2970
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Berlin Hbf to Frankfurt
- Ave. Duration
- 4h 1m
- Frequency
- Hourly
- Estimated price
- €85–200
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Frankfurt to Basel SBB
- Ave. Duration
- 2h 58m
- Frequency
- Hourly
- Estimated price
- €55–130
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Basel SBB to Lugano
- Ave. Duration
- 2h 54m
- Frequency
- Every 3 hours
- Estimated price
- €90–150
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Lugano to Milano Centrale
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €28–45
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Zürich HB to Como S. Giovanni
- Ave. Duration
- 2h 35m
- Frequency
- Hourly
- Estimated price
- €75–130
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 2m
- Frequency
- Once daily
- Estimated price
- €17–28
- 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
- €20–25
- Schedules at
- SBB GmbH
- Phone
- +43 (0) 51717
- Website
- Nightjet
Night train from Berlin Hbf to Zuerich Hb
- Ave. Duration
- 12h 13m
- Frequency
- Every 4 hours
- Estimated price
- €50–140
- Website
- Nightjet
- Sleeper Carriage
- €110–140
- Couchette Carriage
- €80–95
- Seating Carriage
- €50–65
- 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
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 1m
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- Trenord
- Phone
- +49 (0) 221 800 20 820
- info@urlaubs-express.de
- Website
- Urlaubs-Express (UEX)
Car train from Lüneburg to Lörrach Hbf
- Ave. Duration
- 9h 26m
- Frequency
- Once a week
- Estimated price
- €100–120
- Website
- Urlaubs-Express (UEX)
- Phone
- +43 5 1717
- Website
- Österreichische Bundesbahnen
Train from Berlin Hbf to Zürich HB
- Ave. Duration
- 12h 17m
- Frequency
- Twice a week
- Estimated price
- €180–270
- Website
- Österreichische Bundesbahnen
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Berlin, Zentralen Omnibusbahnhof to Milano, Autostazione Lampugnano
- Ave. Duration
- 15h 55m
- Frequency
- Once daily
- Estimated price
- €100–150
- Website
- Flixbus
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Zürich to Milano, Autostazione Lampugnano
- Ave. Duration
- 3h 35m
- Frequency
- 3 times a day
- Estimated price
- €20–35
- Website
- BlaBlaCar Bus
- 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
- 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
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
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Getting to Milan from the airport
Read the travel guide
Booking & Getting There
Berlin to Milan bus services, operated by FlixBus, arrive at Milano, Autostazione Lampugnano station.
Berlin to Milan train services, operated by Deutsche Bahn Intercity (DB IC), arrive at Frankfurt station.
Yes, the driving distance between Berlin to Milan is 1011 km. It takes approximately 9h 50m to drive from Berlin to Milan.
Book your Berlin to Milan train tickets online with Omio.
Book your Berlin to Milan bus tickets online with Omio and FlixBus.
There are 7781+ hotels available in Milan.












































