Transport

Milan Airport Transfers: Malpensa, Linate & Bergamo (2026)

malpensa express train milan
Photo by Chen Te on Pexels

Malpensa is 50 km from central Milan — further than most arriving travelers expect, and roughly the same distance as Gatwick is from central London. That distance is the single fact that shapes every Milan airport transfer decision you’ll make. Linate sits 7 km from the Duomo and now has its own metro stop. Bergamo’s Orio al Serio is 45 km east and has no train at all. So before you book a private car or default to a taxi, it helps to know which of the three airports you actually flew into, what runs at what hour, and where the locals would put you.

I’ve done all three airports more times than I can count — early-morning Ryanair out of Bergamo, late-night Lufthansa into Malpensa Terminal 1, a 7 a.m. ITA out of Linate with a hangover. This guide is the Milan airport transfer playbook I wish someone had handed me the first time: prices in euros, frequencies in minutes, the specific bus stop names, and an honest opinion about when to skip public transport entirely.

malpensa express train milan

The three Milan airports — quick orientation before you pick a transfer

Milan is served by three airports, and they behave very differently. Malpensa (MXP) is the big intercontinental hub northwest of the city — most long-haul flights, most full-service European carriers, and the only one with a dedicated express train. Linate (LIN) is the small city airport on the east side, almost exclusively domestic Italian and short-haul European routes; since the M4 metro opened it’s the easiest of the three to leave. Bergamo Orio al Serio (BGY) is the Ryanair and Wizz Air fortress 45 km east, technically in a different province, marketed as “Milan Bergamo” mostly because tourists won’t book a flight to a city they’ve never heard of.

If you don’t know which one you flew into, check your boarding pass three-letter code. MXP and BGY are the two that catch people out — both require real planning. Linate you can almost walk off the plane and onto a metro train.

Malpensa to Milan: every option ranked

Malpensa is the airport where the Milan airport transfer question matters most, because the wrong choice can cost you an extra hour or an extra €90. Here’s how I’d rank the options for a regular adult traveler with a carry-on and a checked bag.

1. Malpensa Express train (€15, 38–51 minutes)

This is the default answer for almost everyone. The Malpensa Express runs every 30 minutes from both airport terminals to two stations in Milan: Milano Centrale in 51 minutes and Milano Cadorna in 38 minutes. A one-way ticket is €15 (€7.50 for children 4–13, free under 4). First train from Terminal 1 leaves around 4:57 a.m., last train around 11:27 p.m.; from Centrale into the airport, first at 5:25 a.m., last at 11:25 p.m.

Which Milan station should you aim for? If you’re connecting to another Trenitalia high-speed train, Centrale. If you’re staying anywhere near the Duomo, Brera, or the Castello, Cadorna — it’s closer to most tourist hotels and saves you a metro transfer. Buy tickets at the machines on the platform or in the Trenord app; printed tickets need to be validated in the green machines before boarding, app tickets do not. The trains have generous luggage racks, but the front and rear cars fill up fastest with airport crowds — I usually walk toward the middle.

2. Airport coach buses (€10, 50–70 minutes)

Three operators run Malpensa to Milano Centrale by bus: Terravision, Autostradale (Malpensa Bus Express), and Air Pullman (Malpensa Shuttle). A one-way ticket runs €8–€10, departures every 20 minutes between roughly 3:45 a.m. and 12:15 a.m., journey time 50–70 minutes depending on Milan traffic. The bus stop on the Milan end is at Piazza Luigi di Savoia, on the east side of Centrale.

The bus is cheaper than the train but slower, with no luggage advantage and a meaningfully worse experience if the A8 motorway is jammed. I’d take the bus only if you’re arriving outside Malpensa Express hours, or if your hotel happens to be near Centrale anyway.

3. Official flat-rate taxi (€110, 50–80 minutes)

Milan has a regulated flat fare for taxis between Malpensa and the city center: €110 each way, 24/7, no night surcharge, one vehicle (not per person). Some older sources still quote €104 — confirm the flat rate with the driver before you set off and ask them to engage the fixed tariff. Only use the official taxi rank outside Arrivals; ignore anyone approaching you inside the terminal offering “taxi, taxi.”

At €110 for up to four people with luggage, this works out to €27.50 per head for a family of four — competitive with two Malpensa Express tickets plus an onward metro transfer, especially if you’re staying in a neighborhood the train doesn’t serve.

4. Private transfer (€75–€130)

Pre-booked private transfers from operators like Blacklane, Welcome Pickups, or Italian companies like GetTransfer typically run €75–€130 for a sedan, more for a van or executive vehicle. The driver waits in Arrivals with your name on a sign, handles your luggage, and takes you directly to your hotel address. For business arrivals, families with three or more checked bags, or anyone landing at 11 p.m. who doesn’t want to negotiate a taxi rank, this is money well spent. For two adults with normal luggage in daylight, the train is fine.

5. Uber and app-based options

Uber operates in Milan but only as Uber Black — there’s no UberX. Prices from Malpensa run €120–€180 depending on demand, generally more expensive than the flat-rate taxi. FreeNow (the European taxi app) is more useful: it dispatches the same licensed taxis you’d find at the rank, with the flat rate honored. Skip Uber for this run.

For more context on getting around the city once you arrive, the Milan transport guide covers metro, tram, and bus integration.

malpensa airport terminal sign milan

Linate to Milan: the M4 metro changed everything

If you flew into Linate, you essentially won the Milan airport transfer lottery. Linate is 7 km from the Duomo, and since the M4 (blue line) metro opened to the airport in October 2022 and reached the full route in 2023, the airport-to-city decision has become trivial.

M4 metro (€2.20, 12 minutes to San Babila)

The M4 connects Linate to San Babila — one stop from the Duomo — in 12 minutes flat. Trains run every 3–6 minutes, daily from roughly 6:00 a.m. to 12:30 a.m. A standard ATM ticket costs €2.20 and is valid for 90 minutes including any tram or other metro line transfers. You can buy it from the machines in the metro station inside the airport, or tap a contactless credit card directly at the gates — the contactless system charges the same €2.20 and is dramatically easier than figuring out the ticket machine with luggage.

From San Babila, transfer to the M1 (red line) for Centrale-bound trains via Duomo and Loreto, or walk five minutes to the cathedral. To reach Milano Centrale directly without changing lines, get off the M4 at Dateo and switch to the S1, S2, or S13 suburban trains that stop at Centrale. The M4 doesn’t currently touch Centrale itself; that’s the one mild inconvenience. The full Milan metro guide covers the network in more depth.

Bus 73 and X73 (€2.20, 25–40 minutes)

Before the M4 opened, the ATM bus 73 was the standard cheap option from Linate, running from the airport into central Milan for the same €2.20 city ticket. The line still operates from 5:35 a.m. to 12:35 a.m. every 10 minutes, but after the M4 launch its central terminus moved away from San Babila to the Cinque Giornate / Via Morosini area. The X73 express runs weekdays 7:00–20:00 every 20 minutes with fewer stops. The 73 is now slower and less useful than the M4 for nearly every traveler — skip it unless your hotel happens to be on its route.

Linate taxi (€25–€35)

The Linate taxi rank is directly outside Arrivals. There’s no flat rate as such, but a metered ride to the Duomo area typically runs €25–€35 and takes 20–30 minutes. Four people with luggage, total cost €7–€9 each — competitive with the metro and faster to your hotel door. Two people, just take the metro.

linate airport m4 metro entrance

Bergamo Orio al Serio to Milan: the bus is your only sensible option

Bergamo’s Orio al Serio airport (BGY) has no train station, no metro, and sits 45 km east of Milan. If your Ryanair flight lands there, you’re taking a bus to Milan — there’s no realistic alternative unless you’re springing for a private transfer or willing to pay €130 for a taxi.

BGY shuttle bus (€10, 50–60 minutes)

Multiple operators run a near-identical service from BGY to Milano Centrale: Autostradale, Terravision, Flibco, and Orio Shuttle. A one-way ticket is €8–€10 if you book online in advance, sometimes €12 if you buy at the airport. Children 2–12 pay €5. Buses depart every 20–30 minutes — from BGY between 4:25 a.m. and 12:55 a.m., from Milano Centrale between 12:55 a.m. and 11:55 p.m. Journey time is 50 minutes if traffic cooperates, an hour or more if it doesn’t.

The Milan terminus is on Piazza Luigi di Savoia, stops 2–5, on the east (Pirellone) side of Centrale. At Bergamo, buses line up directly outside Arrivals — you walk out the doors and they’re there. Tickets are interchangeable between operators in practice: just buy whichever bus is leaving next, and don’t agonize over the brand.

Train via Bergamo city center (€5.50 + €2.40, 70–90 minutes)

There is a workaround if you want rail: take ATB city bus 1 from the airport into Bergamo’s train station (about 10 minutes, €2.40), then a regional Trenitalia train from Bergamo to Milano Centrale (about 50 minutes, €5.50). Total around €8 and 70–90 minutes door to door. It’s slower than the shuttle bus, requires a transfer with luggage, and only really makes sense if you want to stop in Bergamo — which, honestly, you should at some point. Bergamo Alta is one of the better day trips out of the city.

BGY taxi and private transfer

A metered taxi from Orio al Serio to central Milan runs €110–€140 depending on the meter and traffic. Pre-booked private transfers come in around €100–€150 for a sedan. Only worth it if you’ve got four people splitting it, late-night arrivals after the bus stops, or so much luggage that wrangling it onto a coach is a problem.

bergamo orio al serio airport bus terminal

Late-night arrivals: what’s running after midnight

Italy’s flight schedules push a lot of Ryanair, Wizz, and easyJet arrivals into the post-midnight window. Here’s what you can actually catch.

Malpensa after midnight: the Malpensa Express train stops around 11:27 p.m., but a night bus introduced in summer 2024 leaves Terminal 1 at 1:30 a.m. for Milano Cadorna, arriving 2:30 a.m. Terminal 2 has scheduled departures at 12:20 and 12:50 a.m. The Terravision and Autostradale buses also run into the 12:15 a.m. window. Between roughly 1:00 a.m. and 4:00 a.m., your options are: that single 1:30 night bus, a flat-rate taxi (€110, the official rate applies 24/7), or a pre-booked private transfer. I’ve taken a 2 a.m. flat-rate taxi after a delayed flight and it was the right call — the line at the official rank was short and the driver had the meter set correctly.

Linate after midnight: the M4 metro runs until about 12:30 a.m. After that, taxis are your only realistic option, but at €25–€35 to the Duomo it’s not painful. Linate’s last scheduled flights generally land before midnight anyway.

Bergamo after midnight: BGY shuttle buses run until 12:55 a.m. — generous compared to most airports. If your flight lands at 1:30 a.m., you’re looking at a taxi (€110–€140) or sleeping in the terminal until the 4:25 a.m. bus. Many travelers do the latter; the airport is small but tolerable.

For more on managing connections between airports and the rest of Italy, the Milan train travel guide covers the onward options from Centrale.

Early-morning departures: how early to leave for each airport

Working backwards from your boarding time:

For Malpensa, leave central Milan three hours before international departure, two and a half for Schengen. That’s 2.5 hours for the airport (international check-in plus security plus the long walk to gates) and the Malpensa Express’s 51-minute Centrale run, plus padding. The first Malpensa Express from Centrale is 5:25 a.m.; from Cadorna 4:27 a.m. For a 7:00 a.m. flight, the 4:27 a.m. Cadorna train gets you there at 5:05 — tight but workable. Earlier than that, you’re booking a taxi or a pre-arranged transfer.

For Linate, the calculation is gentler. Two hours before departure for international, 90 minutes for domestic. M4 starts at 6:00 a.m., so anything departing before about 8:30 a.m. needs either an early taxi or to hope your hotel is on bus 73. A taxi from the Duomo to Linate is about €25 and 20 minutes; even at 4:30 a.m. there are taxis at major hotels and the ranks at Centrale.

For Bergamo, allow two and a half hours from central Milan: 50–70 minutes on the bus, time for the bus itself to leave, plus the airport’s painfully understaffed security lines on Ryanair-heavy mornings. First shuttle from Centrale is around 12:55 a.m., which technically means you can reach BGY any time — but for a 7:00 a.m. flight, plan to be on the 4:30 a.m. bus.

Cost comparison: what you’ll actually spend

A Milan airport transfer from Malpensa costs €15 by Malpensa Express, €8–€10 by coach, €110 by flat-rate taxi, and €75–€130 by private car. For two adults the train still wins at €30; for three adults the train still wins at €45; for four adults with luggage the taxi at €110 ties with the train at €60 and beats it on door-to-door time. Add a child under 4 and the train pulls ahead again — the kid travels free.

From Linate, the M4 is €2.20 per person, the taxi is €25–€35 for the whole car. The math here is brutal: even for two people, the metro is €4.40 and the taxi is roughly €30. Unless you’ve got bags or a small child, metro wins by an order of magnitude.

From Bergamo, the BGY shuttle is €10 per person, the taxi is €110–€140. Even four people split four ways at €28–€35 each, the bus still wins at €10. Bergamo is the airport where public transport is most obviously the right answer — there’s no train option, the bus is direct, and the savings are large.

Choosing between train, bus, taxi, and private transfer

Decision framework based on traveler profile:

Solo backpacker, daytime arrival. Train from Malpensa, metro from Linate, shuttle bus from Bergamo. Don’t overthink it. Total spend €2.20–€15.

Couple with normal luggage. Same answers. The marginal cost of two train/metro tickets is still less than a single taxi from any of the three airports.

Family of four with multiple checked bags. From Malpensa, the flat-rate taxi at €110 is genuinely competitive — €27.50 per person, door-to-door, no wrestling four suitcases through Centrale. From Linate, metro still wins (a single contactless tap each, no taxi negotiation, 12 minutes). From Bergamo, two adults plus two children on the shuttle is €30 total versus €110+ for a taxi — bus wins decisively.

Business traveler with a tight schedule. Pre-booked private transfer from Malpensa or Bergamo (€75–€130), taxi from Linate. The €100 premium versus the train buys you a named driver waiting in Arrivals, a guaranteed price, and no queue. If you’re expensing it, this is the right answer.

Late-night arrival, any airport. Default to the flat-rate taxi at Malpensa, taxi or pre-booked transfer at the other two. The savings from public transport collapse when you’re tired and dragging luggage through an unfamiliar transit system at 1 a.m.

If you’re staying in the cathedral neighborhood, the where to stay in Milan guide explains which districts are closest to each transfer terminus. The hotels near Milano Centrale page is especially useful if you’re optimizing for airport-bus and Malpensa Express access.

Insider tips that will save you grief

Malpensa Express car selection. The trains are six or eight cars long. The front and rear cars are closest to the airport platform exits and fill up first; the middle cars almost always have seats and luggage racks free. Walk to the middle on the Milan side too — you’ll exit Centrale through the same wide concourse either way.

Centrale’s east versus west exits. The Malpensa Express platforms are at track 1–2 on the west side. The Malpensa and Bergamo airport coaches all use Piazza Luigi di Savoia on the east (Pirellone) side. If you’re switching from train to coach to get to a different airport, that’s a 5-minute walk across the entire station with luggage. Build it into your timing.

Linate’s metro versus the old bus 73 stop. When the M4 opened, bus 73 lost its San Babila terminus. Older guidebooks and signs still reference the old route. The metro is now strictly better unless your hotel is specifically on the bus line east of Cinque Giornate. The metro entrance inside Linate is straightforward: follow the M signs from Arrivals, escalator down, contactless tap, train arrives within minutes.

Bergamo bus terminal versus train station. The airport shuttle drops you at Milano Centrale, not at Bergamo’s own train station. If you’re transferring onward to a Trenitalia high-speed service, you want the Centrale option, not the bus-train combination via Bergamo city. The Bergamo train option only makes sense if you actually want to visit Bergamo.

Luggage allowance on coaches versus trains. The Malpensa Express and Trenitalia regional trains have no formal luggage limit — you bring what you can carry. Airport coaches officially allow one piece of hold luggage and one carry-on per ticket; extra bags cost €1–€5 each at the discretion of the driver. Solo travelers with three suitcases should take the train.

Contactless tap on ATM trips. All Milan metro and most surface buses now accept contactless credit cards and Apple/Google Pay at the gates and onboard validators. One tap = one €2.20 ticket. It’s the easiest way to navigate the city without buying tickets, and it works on M4 from Linate.

The Trenord app for Malpensa Express. Buy through the official app and your QR code doesn’t require validation at the green machines on the platform. Paper tickets do; an unvalidated paper ticket gets you a fine if a conductor checks. For a guide to Italian rail in general, our train travel guide covers the validation rules in more detail.

Avoid the off-rank “taxis.” Anyone approaching you inside an Italian airport terminal offering a taxi is not a licensed taxi. The official rank is always outside, signposted, white cars with a TAXI sign on the roof and a meter inside. Use it.

If you’re considering renting a car instead — generally a bad idea for visiting Milan itself but useful for onward trips to the lakes — see renting a car in Milan and Milan to Lake Como transport. For getting around the city without driving, the tram guide, taxis and ride-sharing page, and biking guide cover the rest. If you’re only in Milan for a few hours between flights, the Milan layover guide walks through what’s actually doable.

FAQ

How do I get from Malpensa to Milan?

The Malpensa Express train is the standard answer: €15, every 30 minutes, 51 minutes to Milano Centrale or 38 minutes to Milano Cadorna. Coach buses cost €8–€10 and take 50–70 minutes. A flat-rate taxi is €110 for the whole car, 24/7. Private pre-booked transfers run €75–€130.

Is there a train from Linate to Milan?

Not a Trenitalia train, but the M4 metro line opened to the airport in 2022–2023 and gets you to San Babila (one stop from the Duomo) in 12 minutes for €2.20. From San Babila you can transfer to the M1 metro, or get off the M4 at Dateo and take an S1/S2/S13 suburban train to Milano Centrale.

How much is a taxi from Malpensa to Milan?

€110 flat rate, 24/7, regulated by the airport authority. This is for the whole vehicle (up to four passengers), not per person. No night surcharge applies to the flat rate. Confirm the fixed tariff with the driver before departure; use only the official rank outside Arrivals.

Is Bergamo airport actually in Milan?

No. Bergamo Orio al Serio (BGY) is 45 km east of Milan in the province of Bergamo. Ryanair and other low-cost carriers market it as “Milan Bergamo” because Bergamo as a brand sells fewer tickets. Plan for an hour-long shuttle bus (€10) into Milan, not a quick airport transfer.

What time does the Malpensa Express start running?

From Milano Cadorna the first train of the day is 4:27 a.m.; from Milano Centrale 5:25 a.m. Last departures are around 11:25–11:27 p.m. from both ends. Trains run every 30 minutes throughout the day. For very early or very late flights, the airport coach buses extend slightly past these hours, and a single 1:30 a.m. night bus runs to Cadorna.

Can I take the metro from Linate Airport?

Yes — the M4 (blue line) terminates at Linate Airport. Service runs roughly 6:00 a.m. to 12:30 a.m. daily, with trains every 3–6 minutes. A standard ATM ticket costs €2.20 and is valid for 90 minutes including transfers to other metro and tram lines. Tap a contactless card at the gates and you’ll be charged the same €2.20 per trip.

Final thoughts

Most Milan airport transfer guides treat all three airports as variations of the same problem. They aren’t. Malpensa is a logistics exercise where the right answer depends on your group size and arrival time. Linate is so simple now that you barely need a guide — get on the M4. Bergamo is a one-hour bus ride you can’t really avoid, but the bus is frequent enough and cheap enough that it doesn’t matter.

The mistakes I see travelers make most often: paying for a private transfer from Linate when the metro is right there; taking the bus from Malpensa when the train is genuinely faster and only marginally more expensive; assuming Bergamo is “Milan” and not budgeting an extra two hours on each end of the trip. Avoid those three and you’ve solved 90% of the problem.

For the broader picture once you’ve made it into the city, the Milan travel tips page covers the local conventions — validation, contactless payment, ZTL zones, taxi etiquette — that affect every onward trip you’ll take.