Cheapest price
€81
Average price
€134
Fastest journey
15 h 42 m
Average duration
16 h 8 m
Buses per day
45
Distance
843 km
The best way to find a cheap bus ticket from Berlin to Milan is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Berlin to Milan will cost around €134 if you buy it on the day, but the cheapest tickets can be found for only €81.
Of the 45 buses that leave Berlin for Milan on Mon, Jul 14, 1 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Mon, Jul 14 the direct buses cover the 843 km distance in an average of 16 h 8 m but if you time it right, some buses will get you there in just 15 h 42 m .
On Mon, Jul 14 the slowest buses will take 17 h and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.
Omio recommends booking the flight as it is the most popular option from Berlin to Milan among Omio's users. If you are prioritising price take the bus with prices starting from €50. For those with little time consider booking a flight which can get you there in 2h 45m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.3 - 0.8kg. The ticket price range depends on the travel mode: a bus costs an average of €50, and a flight costs an average of €40.
Distance: 843 km
Bus | Most popular Flight | Train |
---|---|---|
€77 Average price Cheapest | €196 Average price | €101 Average price |
17h 52m Average total duration 17h 22m Onboard + 30m Additional time* | 5h 45m Average total duration Fastest 2h 45m Onboard + 3h 0m Additional time* | 14h 12m Average total duration 13h 42m Onboard + 30m Additional time* |
0.8 - 2.1kg CO2 emissions | 2.5 - 5.1kg CO2 emissions | 0.3 - 0.8kg CO2 emissions Lowest |
![]() Most popular bus company | ![]() Most popular airline | ![]() Most popular train company |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Provider | Departs | Duration | Arrives | Transfers | Tickets |
---|---|---|---|---|---|
![]() ![]() | 9:37 AM Berlin Südkreuz station | 17h13 | 2:50 AM Milano, Autostazione Lampugnano | 2 transfers | |
![]() | 10:05 AM Berlin, Bahnhof Südkreuz | 18h45 | 4:50 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 11:15 AM Berlin, Bahnhof Südkreuz | 19h55 | 7:10 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() ![]() | 11:23 AM Berlin, Central Station (Invalidenstraße) | 17h47 | 5:10 AM Milano, Autostazione Lampugnano | 2 transfers | |
![]() | 11:50 AM Berlin, Karolinenstraße (Alt-Tegel) | 20h15 | 8:05 AM Milano, Milan Linate Airport | 2 transfers | |
![]() | 11:50 AM Berlin, Karolinenstraße (Alt-Tegel) | 20h30 | 8:20 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 transfers | |
![]() | 11:50 AM Berlin, Karolinenstraße (Alt-Tegel) | 17h00 | 4:50 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() ![]() | 11:54 AM Berlin Hbf | 20h11 | 8:05 AM Milano, Milan Linate Airport | 2 transfers | |
![]() ![]() | 11:54 AM Berlin Hbf | 20h26 | 8:20 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 transfers | |
![]() ![]() | 12:04 PM Berlin Südkreuz station | 20h16 | 8:20 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 transfers | |
![]() ![]() | 12:04 PM Berlin Südkreuz station | 19h06 | 7:10 AM Milano, Autostazione Lampugnano | 2 transfers | |
![]() ![]() | 12:04 PM Berlin Südkreuz station | 20h01 | 8:05 AM Milano, Milan Linate Airport | 2 transfers | |
![]() | 12:40 PM Berlin, Zentraler Omnibusbahnhof (ZOB) | 16h10 | 4:50 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 12:40 PM Berlin, Zentraler Omnibusbahnhof (ZOB) | 19h25 | 8:05 AM Milano, Milan Linate Airport | 2 transfers | |
![]() | 12:40 PM Berlin, Zentraler Omnibusbahnhof (ZOB) | 19h40 | 8:20 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 transfers | |
![]() | 12:45 PM Berlin, Alexanderplatz | 19h20 | 8:05 AM Milano, Milan Linate Airport | 2 transfers | |
![]() | 12:45 PM Berlin, Alexanderplatz | 19h35 | 8:20 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 transfers | |
![]() | 12:45 PM Berlin, Alexanderplatz | 18h25 | 7:10 AM Milano, Autostazione Lampugnano | 2 transfers | |
![]() | 1:10 PM Berlin, Bahnhof Südkreuz | 18h55 | 8:05 AM Milano, Milan Linate Airport | 2 transfers | |
![]() | 1:10 PM Berlin, Bahnhof Südkreuz | 19h10 | 8:20 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 transfers | |
![]() ![]() | 1:17 PM Berlin-Gesundbrunnen station | 15h53 | 5:10 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() ![]() | 1:28 PM Berlin, Central Station (Invalidenstraße) | 20h07 | 9:35 AM Milano, Autostazione Lampugnano | 2 transfers | |
![]() ![]() | 1:28 PM Berlin Hbf | 15h42 | 5:10 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 1:40 PM Berlin, Zentraler Omnibusbahnhof (ZOB) | 17h30 | 7:10 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 2:50 PM Berlin, Bahnhof Südkreuz | 18h00 | 8:50 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 2:50 PM Berlin, Alexanderplatz | 20h05 | 10:55 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 2:50 PM Berlin, Bahnhof Südkreuz | 19h05 | 9:55 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
![]() | 3:20 PM Berlin, Bahnhof Südkreuz | 27h00 | 6:20 PM Milano, Milan Linate Airport | 2 transfers | |
![]() | 3:20 PM Berlin, Zentraler Omnibusbahnhof (ZOB) | 18h35 | 9:55 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
![]() | 3:20 PM Berlin, Zentraler Omnibusbahnhof (ZOB) | 17h30 | 8:50 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 3:25 PM Berlin, Bahnhof Südkreuz | 19h30 | 10:55 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() ![]() | 3:29 PM Berlin Hbf | 18h06 | 9:35 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 3:30 PM Berlin, Karolinenstraße (Alt-Tegel) | 21h15 | 12:45 PM Milano, Autostazione Lampugnano | 2 transfers | |
![]() ![]() | 3:41 PM Berlin Spandau | 17h54 | 9:35 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 4:20 PM Berlin, Kronprinzessinnenweg (Wannsee) | 18h35 | 10:55 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 5:40 PM Berlin, Alexanderplatz | 19h05 | 12:45 PM Milano, Autostazione Lampugnano | 2 transfers | |
![]() ![]() | 5:55 PM Berlin Hbf | 21h15 | 3:10 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 transfers | |
![]() ![]() | 5:55 PM Berlin Hbf | 17h00 | 10:55 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() ![]() | 6:04 PM Berlin Südkreuz station | 16h51 | 10:55 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() ![]() | 6:04 PM Berlin Südkreuz station | 21h06 | 3:10 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 transfers | |
![]() | 7:00 PM Berlin, Kronprinzessinnenweg (Wannsee) | 19h40 | 2:40 PM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 7:00 PM Berlin, Zentraler Omnibusbahnhof (ZOB) | 15h55 | 10:55 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
![]() | 7:00 PM Berlin, Zentraler Omnibusbahnhof (ZOB) | 23h20 | 6:20 PM Milano, Milan Linate Airport | 2 transfers | |
![]() | 7:20 PM Berlin, Alexanderplatz | 19h30 | 2:50 PM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 8:15 PM Berlin, Bahnhof Südkreuz | 19h35 | 3:50 PM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 8:15 PM Berlin, Bahnhof Südkreuz | 22h40 | 6:55 PM Milano, Milan Linate Airport | 2 transfers | |
![]() | 8:40 PM Berlin, Zentraler Omnibusbahnhof (ZOB) | 18h30 | 3:10 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 transfers | |
![]() | 9:30 PM Berlin, Zentraler Omnibusbahnhof (ZOB) | 21h40 | 7:10 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 transfers | |
![]() | 9:30 PM Berlin, Zentraler Omnibusbahnhof (ZOB) | 21h25 | 6:55 PM Milano, Milan Linate Airport | 2 transfers | |
Monday, July 14 | |||||
![]() | 12:00 AM Berlin, Bahnhof Südkreuz | 20h00 | 8:00 PM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 12:20 AM Berlin, Zentraler Omnibusbahnhof (ZOB) | 19h40 | 8:00 PM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 1:00 AM Berlin, Karolinenstraße (Alt-Tegel) | 21h05 | 10:05 PM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 1:25 AM Berlin, Zentraler Omnibusbahnhof (ZOB) | 20h40 | 10:05 PM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 1:40 AM Berlin, Bahnhof Südkreuz | 20h25 | 10:05 PM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 2:20 AM Berlin, Hardenbergplatz (Zoologischer Garten) | 22h30 | 12:50 AM Milano, Autostazione Lampugnano | 2 transfers | |
![]() | 3:10 AM Berlin, Puschkinallee (S-Treptower Park) | 21h40 | 12:50 AM Milano, Autostazione Lampugnano | 2 transfers | |
![]() | 4:10 AM Berlin, Alexanderplatz | 20h40 | 12:50 AM Milano, Autostazione Lampugnano | 2 transfers | |
![]() | 6:00 AM Berlin, Zentraler Omnibusbahnhof (ZOB) | 23h40 | 5:40 AM Milano, Milan Linate Airport | 2 transfers | |
![]() ![]() | 6:40 AM Berlin Spandau | 22h30 | 5:10 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 7:20 AM Berlin, Zentraler Omnibusbahnhof (ZOB) | 17h30 | 12:50 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 8:40 AM Berlin, Alexanderplatz | 20h10 | 4:50 AM Milano, Autostazione Lampugnano | 2 transfers | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Distance 843 km |
Average bus duration 17h 22m |
Cheapest ticket price €50 |
Buses per day 44 |
Direct buses 1 |
Fastest bus 15h 55m |
First bus 00:10 |
Last bus 23:45 |
For as little as €48 you can travel by coach to Milan from Berlin with FlixBus, STUDENT AGENCY k. S. And Infobus. Omio will show you the best deals, timetables and tickets available for this route.
FlixBus is one of Europe's leading low-cost coach operators, founded in Germany and offering long-distance coach services in Europe and the U. S. FlixBus also operates overnight coaches on select routes throughout Europe. Standard amenities on FlixBus include free Wi-Fi, power outlets to charge your phone, tablet or laptop during long coach journeys, extra legroom, luggage space and toilets. You can even purchase snacks and drinks onboard. FlixBus offers only the Standard ticket for all its routes, which allows you to bring one hand luggage and one hold luggage per person. Additional fees apply for extra luggage and specific seat reservations, such as if you want to book an Extra Seat, Table Seat or the Panorama Seat.
Berlin to Milan coach information with FlixBus:
Passengers board the coach most frequently from Berlin, Zentralen Omnibusbahnhof, which is located around 6.4 miles (10.4 km) away from the city centre, and they get off the coach at Milano, Milan Linate Airport, located 5.5 miles (8.8 km) away from the city centre.
Here are some other resources that might have the information you need