- Must visit
Pinacoteca di Brera
One of Italy’s top art museums, featuring masterpieces by Mantegna, Bellini, Raphael, Caravaggio, and Piero della Francesca.
Cheapest price
$6
Average price
$68
Fastest journey
50 m
Average duration
50 m
Buses per day
30
Distance
45 km
The best way to find a cheap bus ticket from Bergamo to Milan is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Bergamo to Milan will cost around $68 if you buy it on the day, but the cheapest tickets can be found for only $6.
Of the 30 buses that leave Bergamo for Milan on Tue, Aug 25, 30 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Tue, Aug 25 the direct buses cover the 45 km distance in an average of 50 m but if you time it right, some buses will get you there in just 50 m .
On Tue, Aug 25 the slowest buses will take 50 m 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.
2413
2421
2409
3506
FlixBus
FlixBus
2409
3506

Omio recommends booking the train as it is the most popular option from Bergamo to Milan among Omio's users. If you are prioritising price take the bus with prices starting from $2. For those with little time consider booking a train which can get you there in 51m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.0 - 0.0kg. The ticket price range depends on the travel mode: a bus costs an average of $2, and a train costs an average of $6.
Distance: 27 miles (45 km)
| Bus | Most popular Train |
|---|---|
$6 Average price Cheapest | $7 Average price |
1h 26m Average total duration 56m Onboard + 30m Additional time* | 1h 21m Average total duration Fastest 51m Onboard + 30m Additional time* |
0.0 - 0.1kg CO2 emissions | 0.0 - 0.0kg CO2 emissions Lowest |
![]() Most popular bus company | ![]() Most popular train company |
Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
This is compared to other travel options from Bergamo to Milan:
A bus is $4 less than a train for this route with tickets for a train from Bergamo to Milan costing on average $7.
Other travel options to Milan take longer:
Bus takes on average 54m.
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator GoOpti | Departure Time 12:15AM | Arrival Time 01:05AM | Duration 0h50 | Departure days Wed | Cheapest price $188 |
Operator GoOpti | Departure Time 12:20AM | Arrival Time 01:20AM | Duration 1h00 | Departure days Sun | Cheapest price $92 |
Operator GoOpti | Departure Time 12:30AM | Arrival Time 01:30AM | Duration 1h00 | Departure days Sun | Cheapest price $149 |
Operator GoOpti | Departure Time 01:00AM | Arrival Time 02:00AM | Duration 1h00 | Departure days Wed, Sun | Cheapest price $138 |
Operator GoOpti | Departure Time 01:45AM | Arrival Time 03:15AM | Duration 1h30 | Departure days Thu | Cheapest price $87 |
Operator GoOpti | Departure Time 02:00AM | Arrival Time 03:00AM | Duration 1h00 | Departure days Wed, Thu, Sun | Cheapest price $90 |
Operator GoOpti | Departure Time 02:05AM | Arrival Time 03:05AM | Duration 1h00 | Departure days Sat | Cheapest price $119 |
Operator GoOpti | Departure Time 02:35AM | Arrival Time 03:35AM | Duration 1h00 | Departure days Sun | Cheapest price $119 |
Operator GoOpti | Departure Time 03:00AM | Arrival Time 04:00AM | Duration 1h00 | Departure days Wed, Sat, Sun | Cheapest price $119 |
Operator GoOpti | Departure Time 04:00AM | Arrival Time 05:00AM | Duration 1h00 | Departure days Sat, Sun | Cheapest price $98 |
Operator Regionale | Departure Time 04:40AM | Arrival Time 06:23AM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator GoOpti | Departure Time 05:00AM | Arrival Time 06:00AM | Duration 1h00 | Departure days Thu | Cheapest price $92 |
Operator Regionale | Departure Time 05:40AM | Arrival Time 07:23AM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator GoOpti | Departure Time 05:45AM | Arrival Time 06:45AM | Duration 1h00 | Departure days Tue, Sun | Cheapest price $58 |
Operator GoOpti | Departure Time 06:00AM | Arrival Time 07:00AM | Duration 1h00 | Departure days Tue, Thu, Sun | Cheapest price $83 |
Operator GoOpti | Departure Time 06:15AM | Arrival Time 07:15AM | Duration 1h00 | Departure days Sat | Cheapest price $98 |
Operator BlaBlaCar | Departure Time 06:40AM | Arrival Time 07:20AM | Duration 0h40 | Departure days Mon, Thu, Fri | Cheapest price $4 |
Operator Regionale | Departure Time 06:40AM | Arrival Time 08:23AM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator GoOpti | Departure Time 06:45AM | Arrival Time 07:45AM | Duration 1h00 | Departure days Sun | Cheapest price $65 |
Operator Itabus | Departure Time 07:00AM | Arrival Time 07:50AM | Duration 0h50 | Departure days Everyday | Cheapest price $2 |
Operator GoOpti | Departure Time 07:00AM | Arrival Time 08:00AM | Duration 1h00 | Departure days Sat | Cheapest price $56 |
Operator BlaBlaCar | Departure Time 07:00AM | Arrival Time 07:10AM | Duration 0h10 | Departure days Tue, Thu | Cheapest price $3 |
Operator FlixBus | Departure Time 07:15AM | Arrival Time 08:05AM | Duration 0h50 | Departure days Mon, Tue, Fri, Sat, Sun | Cheapest price $6 |
Operator GoOpti | Departure Time 07:25AM | Arrival Time 08:10AM | Duration 0h45 | Departure days Mon | Cheapest price $66 |
Operator Regionale | Departure Time 07:40AM | Arrival Time 09:23AM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator GoOpti | Departure Time 07:45AM | Arrival Time 08:45AM | Duration 1h00 | Departure days Thu, Sun | Cheapest price $85 |
Operator BlaBlaCar | Departure Time 07:50AM | Arrival Time 08:10AM | Duration 0h20 | Departure days Mon, Tue, Wed, Thu, Fri | Cheapest price $4 |
Operator Itabus | Departure Time 08:00AM | Arrival Time 08:50AM | Duration 0h50 | Departure days Everyday | Cheapest price $6 |
Operator GoOpti | Departure Time 08:00AM | Arrival Time 09:00AM | Duration 1h00 | Departure days Sat, Sun | Cheapest price $98 |
Operator BlaBlaCar | Departure Time 08:00AM | Arrival Time 08:20AM | Duration 0h20 | Departure days Mon, Tue, Wed, Thu, Fri | Cheapest price $2 |
Operator FlixBus | Departure Time 08:20AM | Arrival Time 09:30AM | Duration 1h10 | Departure days Everyday | Cheapest price $6 |
Operator Regionale | Departure Time 08:40AM | Arrival Time 10:23AM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator BlaBlaCar | Departure Time 09:00AM | Arrival Time 09:10AM | Duration 0h10 | Departure days Mon, Wed, Fri | Cheapest price $2 |
Operator GoOpti | Departure Time 09:00AM | Arrival Time 10:00AM | Duration 1h00 | Departure days Sat | Cheapest price $98 |
Operator GoOpti | Departure Time 09:30AM | Arrival Time 10:30AM | Duration 1h00 | Departure days Sun | Cheapest price $65 |
Operator Regionale | Departure Time 09:40AM | Arrival Time 11:23AM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator GoOpti | Departure Time 10:00AM | Arrival Time 11:00AM | Duration 1h00 | Departure days Sat, Sun | Cheapest price $56 |
Operator Regionale | Departure Time 10:40AM | Arrival Time 12:23PM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator GoOpti | Departure Time 11:00AM | Arrival Time 12:00PM | Duration 1h00 | Departure days Sat | Cheapest price $138 |
Operator Regionale | Departure Time 11:40AM | Arrival Time 01:23PM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator GoOpti | Departure Time 12:15PM | Arrival Time 01:05PM | Duration 0h50 | Departure days Tue | Cheapest price $214 |
Operator GoOpti | Departure Time 12:30PM | Arrival Time 01:30PM | Duration 1h00 | Departure days Sun | Cheapest price $138 |
Operator Regionale | Departure Time 12:40PM | Arrival Time 02:23PM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator GoOpti | Departure Time 01:00PM | Arrival Time 02:00PM | Duration 1h00 | Departure days Sun | Cheapest price $138 |
Operator GoOpti | Departure Time 01:25PM | Arrival Time 02:20PM | Duration 0h55 | Departure days Mon | Cheapest price $112 |
Operator GoOpti | Departure Time 01:30PM | Arrival Time 02:20PM | Duration 0h50 | Departure days Tue | Cheapest price $96 |
Operator Regionale | Departure Time 01:40PM | Arrival Time 03:23PM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator FlixBus | Departure Time 01:40PM | Arrival Time 02:50PM | Duration 1h10 | Departure days Everyday | Cheapest price $5 |
Operator BlaBlaCar | Departure Time 02:00PM | Arrival Time 02:30PM | Duration 0h30 | Departure days Wed | Cheapest price $5 |
Operator GoOpti | Departure Time 02:00PM | Arrival Time 03:00PM | Duration 1h00 | Departure days Mon, Tue, Sun | Cheapest price $96 |
Operator Regionale | Departure Time 02:40PM | Arrival Time 04:23PM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator GoOpti | Departure Time 02:45PM | Arrival Time 03:45PM | Duration 1h00 | Departure days Sat | Cheapest price $98 |
Operator BlaBlaCar | Departure Time 03:00PM | Arrival Time 03:10PM | Duration 0h10 | Departure days Fri | Cheapest price $2 |
Operator GoOpti | Departure Time 03:00PM | Arrival Time 04:00PM | Duration 1h00 | Departure days Mon, Tue, Sat, Sun | Cheapest price $96 |
Operator FlixBus | Departure Time 03:10PM | Arrival Time 04:30PM | Duration 1h20 | Departure days Everyday | Cheapest price $5 |
Operator GoOpti | Departure Time 03:30PM | Arrival Time 04:30PM | Duration 1h00 | Departure days Sun | Cheapest price $98 |
Operator Regionale | Departure Time 03:40PM | Arrival Time 05:23PM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator GoOpti | Departure Time 04:00PM | Arrival Time 05:00PM | Duration 1h00 | Departure days Tue, Thu, Sun | Cheapest price $93 |
Operator Regionale | Departure Time 04:40PM | Arrival Time 06:23PM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator GoOpti | Departure Time 05:00PM | Arrival Time 06:00PM | Duration 1h00 | Departure days Sun | Cheapest price $117 |
Operator FlixBus | Departure Time 05:10PM | Arrival Time 06:20PM | Duration 1h10 | Departure days Everyday | Cheapest price $9 |
Operator BlaBlaCar | Departure Time 05:10PM | Arrival Time 05:40PM | Duration 0h30 | Departure days Sun | Cheapest price $4 |
Operator BlaBlaCar | Departure Time 05:30PM | Arrival Time 05:50PM | Duration 0h20 | Departure days Tue | Cheapest price $4 |
Operator GoOpti | Departure Time 05:30PM | Arrival Time 06:30PM | Duration 1h00 | Departure days Thu, Sun | Cheapest price $56 |
Operator Regionale | Departure Time 05:40PM | Arrival Time 07:23PM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator GoOpti | Departure Time 06:00PM | Arrival Time 07:00PM | Duration 1h00 | Departure days Thu, Sun | Cheapest price $93 |
Operator Regionale | Departure Time 06:40PM | Arrival Time 08:23PM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator GoOpti | Departure Time 07:00PM | Arrival Time 08:00PM | Duration 1h00 | Departure days Sat, Sun | Cheapest price $56 |
Operator BlaBlaCar | Departure Time 07:20PM | Arrival Time 08:00PM | Duration 0h40 | Departure days Sat | Cheapest price $5 |
Operator Regionale | Departure Time 07:40PM | Arrival Time 09:23PM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator Itabus | Departure Time 07:50PM | Arrival Time 08:55PM | Duration 1h05 | Departure days Everyday | Cheapest price $2 |
Operator GoOpti | Departure Time 08:00PM | Arrival Time 09:00PM | Duration 1h00 | Departure days Sun | Cheapest price $213 |
Operator Itabus | Departure Time 08:25PM | Arrival Time 09:30PM | Duration 1h05 | Departure days Everyday | Cheapest price $2 |
Operator BlaBlaCar | Departure Time 08:40PM | Arrival Time 09:10PM | Duration 0h30 | Departure days Sun | Cheapest price $10 |
Operator FlixBus | Departure Time 08:40PM | Arrival Time 09:35PM | Duration 0h55 | Departure days Tue, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator Regionale | Departure Time 08:40PM | Arrival Time 10:23PM | Duration 1h43 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator BlaBlaCar | Departure Time 09:00PM | Arrival Time 09:20PM | Duration 0h20 | Departure days Sun | Cheapest price $5 |
Operator GoOpti | Departure Time 09:00PM | Arrival Time 10:00PM | Duration 1h00 | Departure days Sun | Cheapest price $210 |
Operator FlixBus | Departure Time 09:30PM | Arrival Time 11:15PM | Duration 1h45 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $6 |
Operator Regionale | Departure Time 10:01PM | Arrival Time 12:08AM | Duration 2h07 | Departure days Mon, Wed, Thu, Fri | Cheapest price $6 |
Operator BlaBlaCar | Departure Time 11:40PM | Arrival Time 11:50PM | Duration 0h10 | Departure days Mon | Cheapest price $3 |
The table below shows live departures for Bergamo to Milan buses for today, Monday, August 24. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
Autobus TRENORD 7104A · Autobus TRENORD 6816A · Regionale TRENORD 25826 | 6:40 AM Bergamo Ospedale | 1h43 | 8:23 AM Milano Greco Pirelli | 2 transfers | |
2409 | 7:00 AM Bergamo, Autostazione | 0h50 | 7:50 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 7:15 AM Bergamo, Autostazione | 0h50 | 8:05 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
![]() | 7:25 AM Bergamo, Piazzale Marconi | 0h45 | 8:10 AM Milano | 0 transfersDirect | |
Autobus TRENORD 7106A · Autobus TRENORD 6844A · Regionale TRENORD 25830 | 7:40 AM Bergamo Ospedale | 1h43 | 9:23 AM Milano Greco Pirelli | 2 transfers | |
3506 | 8:00 AM Bergamo, Autostazione | 0h50 | 8:50 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 8:20 AM Bergamo, Autostazione | 1h10 | 9:30 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
Autobus TRENORD 7108A · Autobus TRENORD 6884A · Regionale TRENORD 25834 | 8:40 AM Bergamo Ospedale | 1h43 | 10:23 AM Milano Greco Pirelli | 2 transfers | |
Autobus TRENORD 7110A · Autobus TRENORD 6892A · Regionale TRENORD 25838 | 9:40 AM Bergamo Ospedale | 1h43 | 11:23 AM Milano Greco Pirelli | 2 transfers | |
Autobus TRENORD 7112A · Autobus TRENORD 6900A · Regionale TRENORD 25842 | 10:40 AM Bergamo Ospedale | 1h43 | 12:23 PM Milano Greco Pirelli | 2 transfers | |
Autobus TRENORD 7114A · Autobus TRENORD 6908A · Regionale TRENORD 25846 | 11:40 AM Bergamo Ospedale | 1h43 | 1:23 PM Milano Greco Pirelli | 2 transfers | |
Autobus TRENORD 7116A · Autobus TRENORD 6916A · Regionale TRENORD 25850 | 12:40 PM Bergamo Ospedale | 1h43 | 2:23 PM Milano Greco Pirelli | 2 transfers | |
![]() | 1:25 PM Bergamo, Piazzale Marconi | 0h55 | 2:20 PM Milano | 0 transfersDirect | |
![]() | 1:25 PM Bergamo, Piazzale Marconi | 0h50 | 2:15 PM Milano | 0 transfersDirect | |
FlixBus | 1:40 PM Bergamo, Autostazione | 1h10 | 2:50 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
Autobus TRENORD 7118A · Autobus TRENORD 6924A · Regionale TRENORD 25854 | 1:40 PM Bergamo Ospedale | 1h43 | 3:23 PM Milano Greco Pirelli | 2 transfers | |
![]() | 2:00 PM Bergamo, Piazzale Marconi | 0h55 | 2:55 PM Milano | 0 transfersDirect | |
![]() | 2:00 PM Bergamo, Piazzale Marconi | 0h50 | 2:50 PM Milano | 0 transfersDirect | |
Autobus TRENORD 7124A · Autobus TRENORD 6938A · Regionale TRENORD 25858 | 2:40 PM Bergamo Ospedale | 1h43 | 4:23 PM Milano Greco Pirelli | 2 transfers | |
![]() | 3:00 PM Bergamo, Piazzale Marconi | 0h55 | 3:55 PM Milano | 0 transfersDirect | |
![]() | 3:00 PM Bergamo, Piazzale Marconi | 0h50 | 3:50 PM Milano | 0 transfersDirect | |
FlixBus | 3:10 PM Bergamo, Autostazione | 1h20 | 4:30 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
Autobus TRENORD 7126A · Autobus TRENORD 6946A · Regionale TRENORD 25862 | 3:40 PM Bergamo Ospedale | 1h43 | 5:23 PM Milano Greco Pirelli | 2 transfers | |
Autobus TRENORD 7128A · Autobus TRENORD 6954A · Regionale TRENORD 25866 | 4:40 PM Bergamo Ospedale | 1h43 | 6:23 PM Milano Greco Pirelli | 2 transfers | |
FlixBus | 5:10 PM Bergamo, Autostazione | 1h10 | 6:20 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
Autobus TRENORD 7130A · Autobus TRENORD 6962A · Regionale TRENORD 25870 | 5:40 PM Bergamo Ospedale | 1h43 | 7:23 PM Milano Greco Pirelli | 2 transfers | |
Autobus TRENORD 7132A · Autobus TRENORD 6970A · Regionale TRENORD 25874 | 6:40 PM Bergamo Ospedale | 1h43 | 8:23 PM Milano Greco Pirelli | 2 transfers | |
Autobus TRENORD 7134A · Autobus TRENORD 6978A · Regionale TRENORD 25878 | 7:40 PM Bergamo Ospedale | 1h43 | 9:23 PM Milano Greco Pirelli | 2 transfers | |
2413 | 7:50 PM Bergamo, Autostazione | 1h05 | 8:55 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
2421 | 8:25 PM Bergamo, Autostazione | 1h05 | 9:30 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
Autobus TRENORD 7136A · Autobus TRENORD 6986A · Regionale TRENORD 25882 | 8:40 PM Bergamo Ospedale | 1h43 | 10:23 PM Milano Greco Pirelli | 2 transfers | |
FlixBus | 9:30 PM Bergamo, Autostazione | 1h45 | 11:15 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 9:30 PM Bergamo, Autostazione | 1h05 | 10:35 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
Autobus TRENORD 7138A · Autobus TRENORD 6996A · S8 TRENORD 24889 | 10:01 PM Bergamo Ospedale | 2h07 | 12:08 AM Milan Porta Garibaldi | 2 transfers | |
| Tuesday, August 25 | |||||
![]() | 5:45 AM Bergamo, Piazzale Marconi | 0h50 | 6:35 AM Milano, Milan Linate Airport | 0 transfersDirect | |
![]() | 6:00 AM Bergamo, Piazzale Marconi | 1h05 | 7:05 AM Milano, Milan Linate Airport | 0 transfersDirect | |
![]() | 6:00 AM Bergamo, Piazzale Marconi | 1h05 | 7:05 AM Milano | 0 transfersDirect | |
![]() | 6:00 AM Bergamo, Piazzale Marconi | 1h00 | 7:00 AM Milano | 0 transfersDirect | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Compare train and bus prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
Buses from Bergamo to Milan run on average 81 times per day, taking around 56m. Cheap bus tickets for this journey start at $2 if you book in advance.
There are 43 buses per day. The earliest bus runs at 00:04, the last at 23:56. The fastest bus covers the 27 miles (45 km) distance in 45m.
Distance 27 miles (45 km) |
Average bus duration 56m |
Cheapest ticket price $2 |
Buses per day 81 |
Direct buses 43 |
Fastest bus 45m |
First bus 12:04 AM |
Last bus 11:56 PM |
Cheapest Month Oct |
Cheapest Day Sat |
High Season Jan - Mar |
Low Season Jul - Sep |
Busiest Day Sun |
Least Busy Day Wed |
Best time to book 14 days |
Discover the best of Milan — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Milan trip today.
One of Italy’s top art museums, featuring masterpieces by Mantegna, Bellini, Raphael, Caravaggio, and Piero della Francesca.
This contemporary art museum near Porta Romana presents rotating exhibitions in a striking former industrial distillery complex.
Italy’s leading science museum is set in a former monastery and features Leonardo galleries, trains, aircraft, and a submarine.
Milan’s central square frames the cathedral and major civic buildings, making it the city’s essential meeting point and photo stop.
This artistic district offers charming lanes, Brera atmosphere, boutiques, and easy access to galleries and evening strolls.
A large landscaped park behind the castle, perfect for walks, skyline views, and reaching landmarks like the Arch of Peace.
Saffron risotto cooked with butter, stock and cheese. It is Milan's signature dish, linked to the city's love of rich northern Italian rice cookery.
Breaded veal cutlet fried in butter until golden. A classic Milanese main, prized for its simple preparation and long-standing local tradition.
Slow-braised veal shanks with vegetables, wine and broth, often finished with gremolata. A hearty Lombard specialty commonly paired with risotto.
Three-Michelin-star fine dining by Enrico Bartolini in MUDEC. Expect refined Italian tasting menus in a polished contemporary setting.
Historic Milanese restaurant near the Duomo, famous for risotto and cotoletta. Traditional, elegant rooms and a strong local culinary identity.
Long-running local favorite for classic Milanese cuisine, especially risotto and ossobuco. Warm, old-school atmosphere in the Brera area.
Moderate for Western Europe. Hotels and central dining can be pricey, but transit is affordable and budget meals, aperitivo deals, and local cafes help keep daily costs reasonable.
Tipping is modest. Service may be included. Round up or leave €1-2 at cafes, 5-10% for good restaurant service, and round up taxi fares.
Official public transport app
Orio al Serio, Milan Bergamo Airport (Bus station) -> Milano Centrale, Milan
Around 30 buses leave from Bergamo to Milan every day. The buses are available seven days a week, and they start from early morning to late in the evening. Night buses are also available from Bergamo to Milan, and Terravision and BlaBlaCar Bus are the only bus companies providing buses for this trip. The former is the leading provider with several buses available every day, while the latter only has buses on specific days. The distance from Bergamo to Milan is about 28 miles (45 km), and most of these buses make this trip in about 1h. Using the Omio app, you can book buses from Bergamo to Milan easily and conveniently.
The trip from Bergamo to Milan is facilitated by around 30 buses every day. Most of these buses are provided by Terravision, but BlaBlaCar Bus is another company providing these buses. There are multiple departures a day, seven days a week. These departures include morning, mid_morning, noon, afternoon, evening, and late_night departures. The first bus to leave the station usually leaves at around 12:00 a.m., while the last bus to leave from Milan from Bergamo usually departs the station at around 11:45 p.m. With the Omio app, you can view the available buses from Bergamo to Milan, along with their departure times.
Most of the days, you’ll have around 30 buses to help you cover the 28 miles (45 km) between Bergamo and Milan. Terravision provides most of the buses from Bergamo to Milan, while BlaBlaCar Bus provides a couple on certain days. The fastest bus makes this trip in about 50min, while the slowest takes just over an hour to cover the same distance. All the buses are direct buses, so expect the trip to be quick and hassle_free. Download the Omio app to view the available buses and the duration they take to get from Bergamo to Milan.

Buses from Bergamo to Milan: sunrise in Piazza Vecchia in Bergamo. Source: Shutterstock
Departure bus station: Orio al SerioTerravison is the leading bus provider for buses from Bergamo to Milan. The company has anywhere between 25 and 30 buses departing Bergamo to Milan every day. You can catch a bus from early morning to late at night, and they all take about 1h to get to their destination, 28 miles (45 km) away.
BlaBlaCar Bus is the second_best company providing bus services from Bergamo to Milan. The company only offers this service around three times a week, and the buses are only available from early morning to early afternoon. The first bus leaves the station at around 6:00 a.m., and the last bus departs at around 1:10 p.m. On certain days, they’ll provide a night bus that leaves Bergamo for Milan at around 12:00 a.m. BlaBlaCar buses are fast, and the fastest trip takes about 50min, while the slowest takes around 1h 10min. You can book BlaBlaCar buses using the Omio app or website.
Buses are a sustainable option, compared to single_occupancy vehicles and other forms of transport. The main reason that buses are considered a sustainable travel option is because of shared mobility. Buses emit fewer greenhouse gases per mile compared to vehicles. Moreover, buses ease congestion on roads, meaning fewer greenhouse gases are produced from stationary cars. Also, buses travel less frequently on roads compared to single_occupancy vehicles, meaning less noise pollution. And unlike airplanes, their emissions don’t go directly into the atmosphere. Plus, with modern buses with clean energy technology, there are reduced emissions.
There’s only one type of fare for Terravision buses from Bergamo to Milan. Passengers can only get a standard seat, but there are still lots to enjoy. Each ticket allows you to bring one hand luggage that should fit in the overhead compartment or seat in front. You’ll also get a comfortable seat with a power outlet and free Wi_Fi. The buses will transport your bike and extra luggage in the cargo hold, but pets aren’t allowed on these buses. People in wheelchairs will get assistance from the drivers, and each bus has an onboard restroom.
BlaBlaCar buses from Bergamo to Milan offer only one fare for this trip. Each ticket will allow you to bring onboard one hand luggage to be stored in the overhead compartment. You can store extra luggage in the cargo hold, while bikes and wheelchairs can travel on these buses, but no pets. Each seat is spacious and comfortable and comes with extra legroom. You’ll also find a power outlet beside each seat, free Wi_Fi, and clean restrooms on board.
If you wish to save as you travel by bus from Bergamo to Milan, try these three hacks. First, book your ticket in advance. Booking weeks or months in advance allows you to enjoy cheaper fares than booking during the last_minute rush. Secondly, introduce some flexibility in your schedule. If you’re free to travel any day, you can book your ticket on the day where fares are lowest. Finally, choose the slower journeys, as these tend to be much cheaper than the faster ones.

Buses from Bergamo to Milan: woman in a square in Milan. Source: Shutterstock
If you’re wondering if Milan is worth visiting, the answer is almost always absolutely yes. Milan is a great historic city full of beautiful art, wonderful green spaces, fashion, and many restaurants, and it’s a great place for day trips. Whether you’re traveling solo or as a group, you’ll find plenty of affordable hotels and hostels to facilitate your stay in Milan. If you love art, you should plan a trip to Fondazione Prada, seven buildings dedicated to contemporary art and culture, a must_visit, according to most art enthusiasts. Milan is also home to the biggest names in the fashion industry, and if you’d like to shop at the top, this is the place. After a whole day shopping, take some time off in the quiet district of Brera. Enjoy a coffee or ice cream as you take in the beautiful views. And a trip to Milan isn’t over unless it includes a visit to the famous La Scala opera house. And for a memorable night at this opera house, bring a friend or partner along. There is a lot to enjoy in Milan, and it all starts with a bus from Bergamo to Milan.
Find answers to the most common questions about traveling from Bergamo to Milan by bus. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest bus, the cheapest option, or tips for making the most of your visit at Milan, this guide helps you travel smarter and with confidence.

Most Bergamo to Milan buses use the Bergamo, Piazzale Marconi to Milano, Aeroporto di Milano Linate station pair, with some services arriving at Milano, Piazza Luigi di Savoia. Use this guide to compare Bergamo and Milan bus stations on this route, check city-centre transport, alongside checking practicalities like bus station facilities and services.
Bergamo, Piazzale Marconi has practical services for this route, including Wifi, Parking, ATM, Taxis, Accessibility, WC, Shower, and Ticket Office.
Wi-Fi is available at Bergamo, Piazzale Marconi. ATMs are aTM located nearby.
Ticket office support is available at Bergamo, Piazzale Marconi.
Available at Bergamo, Piazzale Marconi: Parking, Taxis, WC.
Accessibility facilities are available at Bergamo, Piazzale Marconi: Wheelchair ramps available.
Bergamo, Via Furietti (Scuole Pubbliche Elementari Don Bosco) is 1 km from Bergamo city centre. Public transport options include:
Bergamo, Via Furietti (Scuole Pubbliche Elementari Don Bosco) has practical services for this route, including Wifi, Parking, ATM, Taxis, Accessibility, WC, Shower, and Ticket Office.
Wi-Fi is available at Bergamo, Via Furietti (Scuole Pubbliche Elementari Don Bosco). ATMs are available at Bergamo, Via Furietti (Scuole Pubbliche Elementari Don Bosco).
Ticket office support is available at Bergamo, Via Furietti (Scuole Pubbliche Elementari Don Bosco).
Available at Bergamo, Via Furietti (Scuole Pubbliche Elementari Don Bosco): Parking, Taxis, WC.
Accessibility facilities are available at Bergamo, Via Furietti (Scuole Pubbliche Elementari Don Bosco): Sidewalks are wheelchair accessible.
Milano, Piazza Luigi di Savoia is 2 km from Milan city centre. Public transport options include:
Milano, Piazza Luigi di Savoia has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food options include: Cafeteria Milano Centrale (in the station), Ristorante Pizzeria San Giorgio (0.5 km), Osteria Fara (0.7 km).
Free Wi-Fi. ATMs are located near the main entrance.
Ticket office support is available at Milano, Piazza Luigi di Savoia.
Available at Milano, Piazza Luigi di Savoia: Parking, Taxis, WC.
Accessibility facilities are available at Milano, Piazza Luigi di Savoia: Elevators, ramps.
Milano, Piazza Luigi di Savoia (Milano Stazione Centrale) is 2 km from Milan city centre. Public transport options include:
Milano, Piazza Luigi di Savoia (Milano Stazione Centrale) has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, Shower, and Ticket Office.
Food options include: Several restaurants are nearby.
Wi-Fi is available at Milano, Piazza Luigi di Savoia (Milano Stazione Centrale). ATMs are available at Milano, Piazza Luigi di Savoia (Milano Stazione Centrale).
Ticket office support is available at Milano, Piazza Luigi di Savoia (Milano Stazione Centrale).
Available at Milano, Piazza Luigi di Savoia (Milano Stazione Centrale): Parking, Taxis, WC.
Accessibility facilities are available at Milano, Piazza Luigi di Savoia (Milano Stazione Centrale): Accessible for individuals with reduced mobility.
Here are some other resources that might have the information you need