- Must visit
Accademia Carrara
Major fine arts museum in nearby Bergamo with an important collection of Italian Renaissance and Baroque paintings. One of the cultural highlights of the area.
Cheapest price
$25
Average price
$27
Fastest journey
2 h 12 m
Average duration
2 h 12 m
Trains per day
68
Distance
76 km
The best way to find a cheap train ticket from Milan Malpensa Airport to Orio al Serio is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Milan Malpensa Airport to Orio al Serio will cost around $27 if you buy it on the day, but the cheapest tickets can be found for only $25.
It's difficult to get from Milan Malpensa Airport to Orio al Serio without transferring at least once.
Regionale TRENORD 25819 · Autobus TRENORD 19A+
Regionale TRENORD 80312
Regionale TRENORD 80380+
Regionale TRENORD 25879 · Autobus TRENORD 79A
Regionale TRENORD 80356+
Regionale TRENORD 25859 · Autobus TRENORD 59A
Regionale TRENORD 80332+
Regionale TRENORD 25835 · Autobus TRENORD 35A
Regionale TRENORD 80336+
Regionale TRENORD 25839 · Autobus TRENORD 39A
Regionale TRENORD 80366+
Regionale TRENORD 2239
Regionale TRENORD 80352+
Regionale TRENORD 2233
Regionale TRENORD 80332+
Regionale TRENORD 2223
Regionale TRENORD 80360+
Regionale TRENORD 2237
Regionale TRENORD 80336+
Regionale TRENORD 2225Omio recommends booking the bus as it is the most popular option from Milan Malpensa Airport to Orio al Serio among Omio's users. If you are prioritising price take the bus with prices starting from $17. For those with little time consider booking a bus which can get you there in 1h 40m. The ticket price range depends on the travel mode: a bus costs an average of $17, and a train costs an average of $16.
Distance: 47 miles (76 km)
| Train | Most popular Bus | Driving |
|---|---|---|
$37 Average price | $30 Average price Cheapest | $28 Average price (fuel + tolls) |
2h 25m Average total duration 1h 55m Onboard + 30m Additional time* | 2h 10m Average total duration Fastest 1h 40m Onboard + 30m Additional time* | 58m Average total duration (door-to-door) |
![]() Most popular train company | ![]() Most popular bus company | Your own car or car rental |
Direct Options | Direct Options | Direct Options |
This is compared to other travel options from Milan Malpensa Airport to Orio al Serio:
A bus is $8 (€6) less than a train for this route with tickets for a train from Milan Malpensa Airport to Orio al Serio costing on average $37 (€31).
Other travel options to Orio al Serio take longer:
Train takes on average 1h 55m.
Tickets start at around $37 (€31) compared to roughly $28 (€23) in fuel and tolls — a saving of about $-9.58 (€-7.84). The journey takes 1h 55m versus 58m by car, so you'll arrive a bit later, but you can work, read, or sleep along the way rather than spending the time behind the wheel. You'll also save the hassle of parking at the other end.
Driving is worth it if you're on a tight schedule, travelling as a group, or want to stop somewhere en route.
The table below shows live departures for Milan Malpensa Airport to Orio al Serio trains for tomorrow, Sunday, June 21. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
Regionale TRENORD 80312+ Regionale TRENORD 25819 · Autobus TRENORD 19A | 5:41 AM Malpensa Airport T1 | 2h24 | 8:05 AM Bergamo station | 2 transfers | |
Regionale TRENORD 80312+ Regionale TRENORD 2215 · Regionale TRENORD 10119 | 5:41 AM Malpensa Airport T1 | 2h29 | 8:10 AM Seriate station | 2 transfers | |
Regionale TRENORD 80312+ Regionale TRENORD 2215 | 5:41 AM Malpensa Airport T1 | 2h14 | 7:55 AM Bergamo station | 1 transfer | |
Regionale TRENORD 80314+ Regionale TRENORD 2615 · Regionale TRENORD 22627 | 6:11 AM Malpensa Airport T1 | 2h26 | 8:37 AM Bergamo station | 2 transfers | |
Regionale TRENORD 80316+ Regionale TRENORD 2217 · Regionale TRENORD 10121 | 6:41 AM Malpensa Airport T1 | 2h29 | 9:10 AM Seriate station | 2 transfers | |
Regionale TRENORD 80316+ Regionale TRENORD 25823 · Autobus TRENORD 23A | 6:41 AM Malpensa Airport T1 | 2h24 | 9:05 AM Bergamo station | 2 transfers | |
Regionale TRENORD 80316+ Regionale TRENORD 2217 | 6:41 AM Malpensa Airport T1 | 2h12 | 8:53 AM Bergamo station | 1 transfer | |
Regionale TRENORD 80318+ Regionale TRENORD 2617 · Regionale TRENORD 22631 | 7:11 AM Malpensa Airport T1 | 2h26 | 9:37 AM Bergamo station | 2 transfers | |
Regionale TRENORD 80322+ Regionale TRENORD 25827 · Autobus TRENORD 27A | 7:41 AM Malpensa Airport T1 | 2h24 | 10:05 AM Bergamo station | 2 transfers | |
Regionale TRENORD 80322+ Regionale TRENORD 2219 · Regionale TRENORD 10123 | 7:41 AM Malpensa Airport T1 | 2h29 | 10:10 AM Seriate station | 2 transfers | |
Regionale TRENORD 80322+ Regionale TRENORD 2219 | 7:41 AM Malpensa Airport T1 | 2h12 | 9:53 AM Bergamo station | 1 transfer | |
Regionale TRENORD 80324+ Regionale TRENORD 2619 · Regionale TRENORD 22635 | 8:11 AM Malpensa Airport T1 | 2h26 | 10:37 AM Bergamo station | 2 transfers | |
Regionale TRENORD 80324+ FRECCIAROSSA 9715+ Regionale TRENORD 10120 | 8:11 AM Malpensa Airport T1 | 2h36 | 10:47 AM Seriate station | 2 transfers | |
Regionale TRENORD 80326+ Regionale TRENORD 25831 · Autobus TRENORD 31A | 8:41 AM Malpensa Airport T1 | 2h24 | 11:05 AM Bergamo station | 2 transfers | |
Regionale TRENORD 80326+ Regionale TRENORD 2221 · Regionale TRENORD 10125 | 8:41 AM Malpensa Airport T1 | 2h29 | 11:10 AM Seriate station | 2 transfers | |
Regionale TRENORD 80326+ Regionale TRENORD 2221 | 8:41 AM Malpensa Airport T1 | 2h14 | 10:55 AM Bergamo station | 1 transfer | |
Regionale TRENORD 80330+ Regionale TRENORD 2621 · Regionale TRENORD 22639 | 9:11 AM Malpensa Airport T1 | 2h26 | 11:37 AM Bergamo station | 2 transfers | |
Regionale TRENORD 80332+ Regionale TRENORD 25835 · Autobus TRENORD 35A | 9:41 AM Malpensa Airport T1 | 2h24 | 12:05 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80332+ Regionale TRENORD 2223 | 9:41 AM Malpensa Airport T1 | 2h12 | 11:53 AM Bergamo station | 1 transfer | |
Regionale TRENORD 80332+ Regionale TRENORD 2223 · Regionale TRENORD 10127 | 9:41 AM Malpensa Airport T1 | 2h29 | 12:10 PM Seriate station | 2 transfers | |
Regionale TRENORD 80334+ Regionale TRENORD 2623 · Regionale TRENORD 22643 | 10:11 AM Malpensa Airport T1 | 2h26 | 12:37 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80336+ Regionale TRENORD 2225 · Regionale TRENORD 10129 | 10:41 AM Malpensa Airport T1 | 2h29 | 1:10 PM Seriate station | 2 transfers | |
Regionale TRENORD 80336+ Regionale TRENORD 25839 · Autobus TRENORD 39A | 10:41 AM Malpensa Airport T1 | 2h24 | 1:05 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80336+ Regionale TRENORD 2225 | 10:41 AM Malpensa Airport T1 | 2h12 | 12:53 PM Bergamo station | 1 transfer | |
Regionale TRENORD 80338+ Regionale TRENORD 2625 · Regionale TRENORD 22647 | 11:11 AM Malpensa Airport T1 | 2h26 | 1:37 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80340+ Regionale TRENORD 2227 · Regionale TRENORD 10131 | 11:41 AM Malpensa Airport T1 | 2h29 | 2:10 PM Seriate station | 2 transfers | |
Regionale TRENORD 80340+ Regionale TRENORD 2227 | 11:41 AM Malpensa Airport T1 | 2h12 | 1:53 PM Bergamo station | 1 transfer | |
Regionale TRENORD 80340+ Regionale TRENORD 25843 · Autobus TRENORD 43A | 11:41 AM Malpensa Airport T1 | 2h24 | 2:05 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80342+ Regionale TRENORD 2627 · Regionale TRENORD 22651 | 12:11 PM Malpensa Airport T1 | 2h26 | 2:37 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80344+ Regionale TRENORD 2229 | 12:41 PM Malpensa Airport T1 | 2h12 | 2:53 PM Bergamo station | 1 transfer | |
Regionale TRENORD 80344+ Regionale TRENORD 2229 · Regionale TRENORD 10133 | 12:41 PM Malpensa Airport T1 | 2h29 | 3:10 PM Seriate station | 2 transfers | |
Regionale TRENORD 80344+ Regionale TRENORD 25847 · Autobus TRENORD 47A | 12:41 PM Malpensa Airport T1 | 2h24 | 3:05 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80346+ Regionale TRENORD 2629 · Regionale TRENORD 22655 | 1:11 PM Malpensa Airport T1 | 2h26 | 3:37 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80348+ Regionale TRENORD 2231 | 1:41 PM Malpensa Airport T1 | 2h12 | 3:53 PM Bergamo station | 1 transfer | |
Regionale TRENORD 80348+ Regionale TRENORD 25851 · Autobus TRENORD 51A | 1:41 PM Malpensa Airport T1 | 2h24 | 4:05 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80348+ Regionale TRENORD 2231 · Regionale TRENORD 10135 | 1:41 PM Malpensa Airport T1 | 2h29 | 4:10 PM Seriate station | 2 transfers | |
Regionale TRENORD 80350+ Regionale TRENORD 2631 · Regionale TRENORD 22659 | 2:11 PM Malpensa Airport T1 | 2h26 | 4:37 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80352+ Regionale TRENORD 2233 | 2:41 PM Malpensa Airport T1 | 2h12 | 4:53 PM Bergamo station | 1 transfer | |
Regionale TRENORD 80352+ Regionale TRENORD 2233 · Regionale TRENORD 10137 | 2:41 PM Malpensa Airport T1 | 2h29 | 5:10 PM Seriate station | 2 transfers | |
Regionale TRENORD 80352+ Regionale TRENORD 25855 · Autobus TRENORD 55A | 2:41 PM Malpensa Airport T1 | 2h24 | 5:05 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80354+ FRECCIAROSSA 9743+ Regionale TRENORD 10134 | 3:11 PM Malpensa Airport T1 | 2h36 | 5:47 PM Seriate station | 2 transfers | |
Regionale TRENORD 80354+ Regionale TRENORD 2633 · Regionale TRENORD 22663 | 3:11 PM Malpensa Airport T1 | 2h26 | 5:37 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80356+ Regionale TRENORD 2235 | 3:41 PM Malpensa Airport T1 | 2h12 | 5:53 PM Bergamo station | 1 transfer | |
Regionale TRENORD 80356+ Regionale TRENORD 25859 · Autobus TRENORD 59A | 3:41 PM Malpensa Airport T1 | 2h24 | 6:05 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80356+ Regionale TRENORD 2235 · Regionale TRENORD 10139 | 3:41 PM Malpensa Airport T1 | 2h29 | 6:10 PM Seriate station | 2 transfers | |
Regionale TRENORD 80358+ Regionale TRENORD 2635 · Regionale TRENORD 22667 | 4:11 PM Malpensa Airport T1 | 2h26 | 6:37 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80360+ Regionale TRENORD 2237 | 4:41 PM Malpensa Airport T1 | 2h12 | 6:53 PM Bergamo station | 1 transfer | |
Regionale TRENORD 80360+ Regionale TRENORD 25863 · Autobus TRENORD 63A | 4:41 PM Malpensa Airport T1 | 2h24 | 7:05 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80360+ Regionale TRENORD 2237 · Regionale TRENORD 10141 | 4:41 PM Malpensa Airport T1 | 2h29 | 7:10 PM Seriate station | 2 transfers | |
Regionale TRENORD 80362+ Regionale TRENORD 2637 · Regionale TRENORD 22671 | 5:11 PM Malpensa Airport T1 | 2h26 | 7:37 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80362+ FRECCIAROSSA 9753+ Regionale TRENORD 10138 | 5:11 PM Malpensa Airport T1 | 2h36 | 7:47 PM Seriate station | 2 transfers | |
Regionale TRENORD 80366+ Regionale TRENORD 2239 · Regionale TRENORD 10143 | 5:41 PM Malpensa Airport T1 | 2h29 | 8:10 PM Seriate station | 2 transfers | |
Regionale TRENORD 80366+ Regionale TRENORD 2239 | 5:41 PM Malpensa Airport T1 | 2h12 | 7:53 PM Bergamo station | 1 transfer | |
Regionale TRENORD 80366+ Regionale TRENORD 25867 · Autobus TRENORD 67A | 5:41 PM Malpensa Airport T1 | 2h24 | 8:05 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80368+ Regionale TRENORD 2639 · Regionale TRENORD 22675 | 6:11 PM Malpensa Airport T1 | 2h26 | 8:37 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80370+ Regionale TRENORD 25871 · Autobus TRENORD 71A | 6:41 PM Malpensa Airport T1 | 2h24 | 9:05 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80370+ Regionale TRENORD 2241 · Regionale TRENORD 10145 | 6:41 PM Malpensa Airport T1 | 2h29 | 9:10 PM Seriate station | 2 transfers | |
Regionale TRENORD 80370+ Regionale TRENORD 2241 | 6:41 PM Malpensa Airport T1 | 2h12 | 8:53 PM Bergamo station | 1 transfer | |
Regionale TRENORD 80376+ Regionale TRENORD 2243 · Regionale TRENORD 10147 | 7:41 PM Malpensa Airport T1 | 2h29 | 10:10 PM Seriate station | 2 transfers | |
Regionale TRENORD 80376+ Regionale TRENORD 25875 · Autobus TRENORD 75A | 7:41 PM Malpensa Airport T1 | 2h24 | 10:05 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80376+ Regionale TRENORD 2243 | 7:41 PM Malpensa Airport T1 | 2h12 | 9:53 PM Bergamo station | 1 transfer | |
Regionale TRENORD 80378+ Regionale TRENORD 2643 · Regionale TRENORD 22683 | 8:11 PM Malpensa Airport T1 | 2h26 | 10:37 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80380+ Regionale TRENORD 25879 · Autobus TRENORD 79A | 8:41 PM Malpensa Airport T1 | 2h24 | 11:05 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80380+ Regionale TRENORD 2245 · Autobus TRENORD 141A | 8:41 PM Malpensa Airport T1 | 2h41 | 11:22 PM Seriate station | 2 transfers | |
Regionale TRENORD 80380+ Regionale TRENORD 2245 | 8:41 PM Malpensa Airport T1 | 2h14 | 10:55 PM Bergamo station | 1 transfer | |
Regionale TRENORD 80382+ Regionale Veloce TTPER 2485 · Regionale Veloce 3093 | 9:11 PM Malpensa Airport T1 | 2h26 | 11:37 PM Bergamo station | 2 transfers | |
Regionale TRENORD 80384+ Regionale TRENORD 25883 · Autobus TRENORD 83A | 9:41 PM Malpensa Airport T1 | 2h24 | 12:05 AM Bergamo station | 2 transfers | |
Regionale TRENORD 80384+ Regionale TRENORD 2247 | 9:41 PM Malpensa Airport T1 | 3h14 | 12:55 AM Bergamo station | 1 transfer | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare bus and train 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.
Trains from Milan Malpensa Airport to Orio al Serio run on average 16 times per day, taking around 1h 55m. Cheap train tickets for this journey start at $16 (€13) if you book in advance.
The earliest train runs at 06:11, the last at 23:51. The fastest train covers the 47 miles (76 km) distance in 2h 6m.
Distance 47 miles (76 km) |
Average train duration 1h 55m |
Cheapest ticket price $16 (€13) |
Trains per day 16 |
Fastest train 2h 6m |
First train 6:11 AM |
Last train 11:51 PM |
Cheapest Month Mar |
Cheapest Day Fri |
High Season Jul - Sep |
Low Season Oct - Dec |
Busiest Day Fri |
Least Busy Day Wed |
Discover the best of Orio al Serio — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Orio al Serio trip today.
Major fine arts museum in nearby Bergamo with an important collection of Italian Renaissance and Baroque paintings. One of the cultural highlights of the area.
Bergamo's leading modern and contemporary art gallery, a short trip from Orio al Serio. Known for rotating exhibitions and a strong reputation among art lovers.
History museum in Bergamo Alta presenting the city's medieval and civic past through immersive displays. A strong choice for understanding the wider area around Orio al Serio.
The historic heart of Bergamo Alta, surrounded by landmark buildings and considered one of the most beautiful squares in Italy. Essential for first-time visitors.
Bergamo's walled upper town, known for medieval streets, viewpoints, and timeless atmosphere. The most famous area to explore near Orio al Serio.
UNESCO-listed Venetian Walls encircling Bergamo Alta, ideal for panoramic walks and sunset views. Extremely popular with photographers and social media visitors.
Stuffed pasta from the Bergamo area, typically filled with meat, breadcrumbs, cheese, and herbs, then dressed with butter, pancetta, and sage. It is one of the signature dishes of local home cooking.
A hearty mountain-style polenta made with cornmeal and buckwheat flour, usually enriched with local cheeses and butter. It is strongly associated with Bergamo and the surrounding valleys.
Traditional stuffed pasta from Val Brembana near Bergamo, usually filled with cheese, breadcrumbs, butter, and seasonings rather than meat. It is a prized specialty of the wider Bergamo area.
Historic Bergamo trattoria serving traditional Bergamasque cuisine such as casoncelli and polenta in a warm, old-style atmosphere. A strong choice for regional food near Orio al Serio.
Well-known Bergamo restaurant and pizzeria with a broad menu, local specialties, and a lively atmosphere. Suitable for a relaxed meal with both traditional dishes and pizza.
Long-running traditional restaurant in Bergamo appreciated for classic local cooking, generous portions, and an authentic trattoria feel. Good for tasting regional staples.
Prices are moderate overall. Airport-area dining costs more, while nearby Bergamo offers better value for meals and coffee.
Service is often included or covered by coperto. Tipping is not mandatory; round up or leave EUR 1-5 for good service. Taxis can be rounded up slightly.
Official public transport app
Aeroporto di Bergamo-Orio al Serio (Stazione degli autobus), Orio al Serio -> Bergamo Stazione, Bergamo
Find answers to the most common questions about traveling from Milan Malpensa Airport to Orio al Serio by train. 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 train, the cheapest option, or tips for making the most of your visit at Orio al Serio, this guide helps you travel smarter and with confidence.

Most Milan Malpensa Airport to Orio al Serio trains use the Milano Centrale to Orio al Serio, Aeroporto di Bergamo-Orio al Serio (Stazione degli autobus) station pair. Use this guide to compare Milan Malpensa Airport and Orio al Serio train stations on this route, check city-centre transport, alongside checking practicalities like train station facilities and services.
Milano Centrale is 2 km from Milan city centre. Public transport options include:
Milano Centrale has practical services for this route, including Wifi, Lockers, Parking, Dining, ATM, Taxis, Accessibility, WC, Hotel, Ticket Office, Bike Parking, Bike Rental, Car Rental, and Information Desk.
Food options include: Venchi, Panzera Coffee, Burger King, Bar Motta, Caffè Napoli, VyTA Boulangerie, Spontini, Starbucks, Dispensa Emilia, McDonald's, & many more
Free WiFi in the station. ATMs are there are ATMs in various locations around the station.
The ticket office is open Mon - Sun: 05:50 - 22:20. Information desks are located next to the ticket office on the ground floor in the shopping gallery.
Luggage storage is provided by KiPoint and located on the ground floor, on the side of Piazza Luigi di Savoia. It is open every day from 06:00 to 23:00.
Available at Milano Centrale: Parking, Taxis, WC.
Available at Milano Centrale: Bike Parking, Bike Rental, Car Rental.
Accessibility facilities are available at Milano Centrale: Station is wheelchair accessible, has elevators and the Sala Blu, Trenitalia's office of assistance for disabled travelers, is next to Platform 4.
Nearby hotels include Glam Hotel Milano, NYX MIlan, iQ Hotel Milano.
Milano Forlanini is 3 km from Milan city centre. Public transport options include:
Milano Forlanini has practical services for this route, including Parking, Dining, Taxis, Accessibility, WC, Hotel, Ticket Office, Bike Parking, and Luggage Carts.
Food and drink options are available at Milano Forlanini.
Ticket office support is available at Milano Forlanini.
Available at Milano Forlanini: Parking, Taxis, WC.
Available at Milano Forlanini: Bike Parking.
Accessibility facilities are available at Milano Forlanini: Elevators, ramps.
Nearby hotels include Hotel Mistral, Hotel Molise 2, Hotel Del Sud.
Milano Porta Garibaldi is 2 km from Milan city centre. Public transport options include:
Milano Porta Garibaldi has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, Hotel, Bike Parking, and Bike Rental.
Food options include: Caffeteria Panni Caldi, Princi, Burgez, Bricco Café, U! Come tu mi vuoi, Autogrill, Culto
Free Wi-Fi in the station. ATMs are located in the main hall.
Available at Milano Porta Garibaldi: Parking, Taxis, WC.
Available at Milano Porta Garibaldi: Bike Parking, Bike Rental.
Accessibility facilities are available at Milano Porta Garibaldi: Accessible facilities such as ticket machines, toilets, and ramps and additional assistance as needed from 07:45 to 22:30.
Nearby hotels include Hotel NH Milano Palazzo Moscova, AC Hotel by Marriott Milano, Tocq Hotel.
Here are some other resources that might have the information you need