Skip to content
Italy Tourism Guide

Milan & Northern Italy

Milan Airport to City Center: Malpensa, Linate and Bergamo

Terminal 1 at Malpensa, the busiest starting point for the Milan airport to city center journey
Photo: SIG SG 510 (CC0) via Wikimedia Commons

The first thing nobody tells you about flying to Milan: there isn’t one airport, there are three, and they’re scattered in three different directions. I learned this the embarrassing way, standing at Bergamo with a ticket I’d half-assumed would drop me at Malpensa. So before you book anything, sort out which field you’re actually landing at, because the trip to town is completely different at each one.

Here’s the short version. Getting from a Milan airport to city center depends on which one you’ve got. Malpensa (MXP) is far out northwest and the Malpensa Express train is your workhorse. Linate (LIN) is the closest and now sits on the M4 metro. Bergamo (BGY) is bus-only into Milan. This guide is for arriving travelers who want the fastest, cheapest, least-stressful route, with real numbers.

I’ll stay strictly in my lane here: getting you between the airports and the city. For what to do once you’ve dropped your bags, see things to do in Milan; for picking a neighborhood, the best places to stay in Milan; and for escaping to the lakes, day trips from Milan.

Terminal 1 at Malpensa, the busiest starting point for the Milan airport to city center journey
Photo: SIG SG 510 (CC0) via Wikimedia Commons

Milan airport to city center: the quick comparison

Skim this first. Every figure is approximate and current as of 2026; fares and timetables shift, so confirm with the official operator before you travel. I’ve linked them throughout.

Airport Best option Approx time Approx cost Runs to
Malpensa (MXP) Malpensa Express train 50 min to Centrale, 32 min to Cadorna ~€15 one-way Milano Cadorna, Centrale, Porta Garibaldi
Malpensa (MXP) Airport shuttle bus ~50-60 min ~€8-12 Milano Centrale
Malpensa (MXP) Taxi (flat fare) ~50 min ~€110 flat Anywhere in the center
Linate (LIN) M4 metro ~12 min to San Babila €2.20 San Babila (near Duomo)
Linate (LIN) Bus 73 / Air Bus 25-35 min €2.20 / €5 Duomo / Milano Centrale
Linate (LIN) Taxi (metered) 15-25 min ~€30-40 Anywhere in the center
Bergamo (BGY) Shuttle bus ~50-60 min ~€8-10 Milano Centrale
Bergamo (BGY) Train (via Bergamo town) ~1h 15m total ~€6-7 + bus Milano Centrale / Porta Garibaldi
Bergamo (BGY) Taxi ~50 min €100+ Anywhere in the center

A note before we go deeper: “the center” of Milan is a loose idea. Most people mean the Duomo, or wherever their hotel sits within the ring of the old city. The two big arrival hubs are Milano Centrale (the grand main railway station, well north of the Duomo, on metro lines M2 and M3) and the Duomo / San Babila area (the literal heart, on M1 and M3). Which airport route is “best” partly depends on which of those is closer to your bed. Keep that in the back of your mind as you read.

Malpensa to Milan: the train is almost always the answer

Malpensa is the big one. It’s Milan’s main international airport, roughly 50 km (about 31 miles) northwest of the city, with two terminals: Terminal 1 (most flights, including nearly all the long-haul ones) and Terminal 2 (largely low-cost, with easyJet and Wizz the usual suspects). The two terminals are a few minutes apart by a free 24-hour shuttle bus, so don’t panic if you land at one and your train leaves from the other — though, as you’ll see, both have their own train platforms now.

If you remember one thing from this whole article, make it this: from Malpensa, take the Malpensa Express train unless you have a specific reason not to. It’s run by Trenord, it’s clean, it has luggage racks, and it sidesteps the genuinely unpredictable traffic on the motorway into Milan. I’ve watched friends sit in a shuttle bus crawling past Fiera while my train had already deposited me at Cadorna.

Malpensa Express: frequency, time, and fare

The Malpensa Express runs from both Terminal 1 and Terminal 2 into three city stations: Milano Cadorna, Milano Centrale, and Milano Porta Garibaldi. Trains leave roughly every 30 minutes for most of the day. Service starts around 05:00 in the morning and the last trains run until roughly 23:00-23:30, with the first departures from the city back to the airport from about 05:25.

Journey times depend on where you’re headed:

  • To Milano Cadorna: around 32 minutes. Cadorna is on metro lines M1 (red) and M2 (green), which is handy if your hotel is near the Duomo, the Castello, or the Sant’Ambrogio area.
  • To Milano Centrale: around 50 minutes. Centrale connects to M2 and M3, plus all the high-speed trains onward to the rest of Italy.

The fare, as of 2026, is €15 for an adult one-way, €7.50 for children aged 4-13, and free for kids under 3 traveling with a paying adult, according to the official Malpensa Express prices page. There’s also a 30-day return ticket sold online, usually in the €25-30 range, that lets you change the return date a few times — worth it if you’re doing a Milan round trip and know you’ll come back the same way.

Which station should you aim for? My rule of thumb: if you’re staying anywhere central — Duomo, Brera, Navigli, Sant’Ambrogio — get off at Cadorna. It’s faster (the 32-minute run) and drops you right onto the M1/M2 network. Only ride all the way to Centrale if your hotel is up by the station, or if you’re connecting straight to a high-speed train to Florence, Venice, or Rome. For more on those onward connections, see my guide to getting around Italy by train.

A Malpensa Express train, the fastest Milan airport to city center option from MXP
Photo: G.dallorto / Attribution via Wikimedia Commons

Buying Malpensa Express tickets (and a small trap)

You can buy tickets at machines and ticket offices inside both terminals, on the Trenord/Malpensa Express app, or online in advance. Buying a paper ticket from a machine is fine and quick. The one thing to know: a Malpensa Express ticket is not the same as a standard Milan urban transit ticket, and it’s priced separately from the regular Trenord regional trains that also serve the airport. Make sure you’re buying the airport ticket for the airport route, and if you buy a paper ticket, validate it before boarding if the machine or signage tells you to — Trenord uses both validated paper and e-tickets depending on type.

There’s a cheaper wrinkle some budget travelers exploit: regular Trenord regional trains also call at Malpensa, and a standard regional ticket can cost less than the branded Express. The catch is they’re slower and less frequent and the savings are small, so for most arrivals I don’t bother. The €15 Express is the path of least resistance.

Malpensa shuttle buses to Centrale

If you’re landing very late, very early, or you simply prefer a bus, several companies run coaches between Malpensa (both terminals) and Milano Centrale: Autostradale, Terravision, and others. Tickets typically run €8-12 one-way depending on operator and whether you book ahead, and buses leave very frequently — every 20-30 minutes for much of the day, with at least some service running through the night, which the train doesn’t.

The honest trade-off: the bus is often cheaper than the train, and it runs when the train doesn’t. But the scheduled time is around 50-60 minutes, and that’s on a good day. Milan traffic, especially on weekday mornings and around any trade fair, can blow that number up. If you have a tight onward connection at Centrale, I’d take the train and its more predictable timing. If it’s 2 a.m. and the trains have stopped, the bus is your friend. The buses pick up curbside outside arrivals at both terminals; look for the clearly branded coaches and the staff selling tickets at the stop.

Malpensa taxi: the flat fare

Official white taxis from Malpensa to central Milan run on a fixed flat fare of around €110, covering the whole car (not per person), for either terminal, day or night. You’ll see slightly different figures floating around online — €104, €110, €114 — because the official rate has been nudged over the years, so treat €110 as a ballpark and confirm with the driver before you get in.

Two things matter here. First, only use the official taxi rank outside arrivals — the white cars with a TAXI sign on the roof. Second, confirm the flat fare out loud before you set off and make sure the driver agrees to it, because if they quietly run the meter for the 50-km trip the number can climb well past the flat rate.

Be wary of anyone inside the terminal offering you a “taxi” or a “good price” to the city — those are often unlicensed drivers, and that’s exactly the kind of situation I cover in my piece on common Italy tourist scams. A real Milan taxi never needs to tout for business at the arrivals door. For four people with luggage heading to a central hotel, splitting one flat-fare taxi can actually rival the train on cost and beat it on door-to-door convenience, so it’s not a crazy choice — just use a legitimate one.

Linate to Milan: the M4 metro changed everything

Linate is the close one. It’s only about 8 km (5 miles) southeast of the center — so close that on a clear approach you can see the city laid out below you. For years the frustrating thing about Linate was that despite being practically in town, it had no rail link, so you were stuck with buses or taxis through traffic. That changed.

The M4 metro: the recent game-changer

Since the line’s airport section opened, the driverless M4 (blue line) now connects Linate Airport directly to the city center, and it’s genuinely transformed the Linate arrival. With a standard €2.20 ATM ticket, you ride from Linate to San Babila in about 12 minutes, per the city’s official YesMilano explainer on the M4 to Linate. San Babila is a roughly 9-minute walk from the Duomo and is also an interchange with the M1 (red line), so from there you can reach almost anywhere in central Milan on one ticket.

The M4 runs daily from about 06:00 to 00:30, and like the rest of Milan’s metro it’s contactless: you can tap a bank card or phone straight at the turnstile instead of buying a paper ticket, which is the single easiest way to do it after a flight. The stops between the airport and the center include Forlanini FS (a rail interchange), Dateo, Tricolore, and Susa before San Babila. From the terminal you walk just a few minutes to reach the station — it’s well signed and step-free.

Honestly, for most people landing at Linate, the M4 is now the obvious move. It’s cheap, it’s fast, it’s immune to traffic, and €2.20 to be a short walk from the Duomo in a quarter of an hour is hard to argue with.

Linate Airport, now linked to the Milan airport to city center metro via the M4 blue line
Photo: cisko66 / CC BY 3.0 via Wikimedia Commons

Linate buses: 73, X73 and the Air Bus

Before the M4, the ATM bus 73 was the budget hero, and it’s still a perfectly good option, especially if your route favors the surface. The 73 (and the faster, limited-stop X73 on weekdays) runs to San Babila / Duomo for the same €2.20 urban ticket, departing roughly every 10 minutes from early morning (around 06:00) until past midnight. It makes a lot of stops, so it’s slower than the metro, but it’s cheap and frequent.

If you specifically need Milano Centrale, there’s the Air Bus (an ATM coach service) that runs there in about 25 minutes for around €5 one-way. There are also private coaches like Starfly covering similar ground. For Centrale-bound travelers connecting to onward trains, the Air Bus or the metro-plus-transfer both work; for everyone else, the M4 wins.

One ticket note: if you buy a city bus ticket on board rather than beforehand, you can be charged a small supplement, so grab your €2.20 ticket from a machine or tap contactless instead.

Linate taxi

Unlike Malpensa, Linate taxis run on the meter, not a flat fare, and because the airport is so close the ride is short. Expect roughly €30-40 to a central hotel, give or take depending on traffic and time of day, with the trip taking 15-25 minutes. The official rank is right outside arrivals. Same rule as everywhere: ignore anyone approaching you inside the terminal and walk to the marked taxi line. For a late arrival with luggage, or a group, a Linate taxi is reasonable and quick.

Bergamo Orio al Serio to Milan: it’s a bus, basically

Here’s the one that trips people up. Bergamo Airport — officially Orio al Serio (BGY) — is where most of the low-cost carriers land, Ryanair above all. It’s marketed as “Milan Bergamo,” but it sits about 45 km (30 miles) east of Milan, near the city of Bergamo, not in Milan at all. Plan for it accordingly: getting from BGY to central Milan takes roughly an hour and there is no train station at the airport itself.

Bergamo shuttle buses to Centrale

The standard, no-drama way into Milan from Bergamo is a coach to Milano Centrale. Several operators run the route — Orio Shuttle, Terravision, and Autostradale among them — and between them there’s a departure roughly every 20-30 minutes from very early morning until around 01:00-01:30, so even late-night Ryanair arrivals are covered.

The ride takes about 50-60 minutes and costs roughly €8-10 one-way, a bit less if you book online in advance, with cheaper return fares (often around €14-18 round trip). Luggage is generally included in the fare. The buses leave from just outside the arrivals hall — you’ll see the ticket desks and the queue of coaches; you can usually buy on the spot, though booking ahead saves a little and guarantees a seat in peak periods.

This is the route I’d take 95% of the time from Bergamo. It’s simple: walk out, buy a ticket, get on a bus to Centrale, done.

Bergamo by train (via Bergamo town)

There’s a slower, sometimes-cheaper alternative if you like trains or want to actually see Bergamo. Take the local ATB bus (line 1) from the airport to Bergamo’s railway station — a short hop — then catch a Trenord regional train from Bergamo to Milan (Centrale or Porta Garibaldi), which runs frequently and costs only around €6-7. End to end it’s about an hour and a quarter once you factor the bus, the wait, and the train, so it’s not faster than the direct coach, and you’re handling your bags through a couple of changes.

When is it worth it? Mainly on the way out, if you’ve got time and a manageable suitcase, because you can break the journey in Bergamo’s gorgeous Città Alta for a few hours before your flight. For a tired arrival into Milan, the direct coach to Centrale is the saner choice. Bergamo as a destination in its own right is one I cover under day trips from Milan.

Bergamo taxi

A taxi from Bergamo airport to central Milan will run you €100 or more and take around 50 minutes — so unless you’re in a group splitting the cost or it’s the dead of night with no buses you can face, the coach is far better value. If you only need to get into Bergamo town itself, a taxi there is short and cheap; it’s the long haul to Milan that hurts.

Tips that save the trip

A few hard-won pointers that apply across all three airports.

Buying tickets in advance. For the Malpensa Express and the Bergamo coaches, booking online ahead of time can shave a few euros and saves you queueing after a long flight. For Linate’s M4 metro and bus 73, don’t overthink it — just tap a contactless card or grab a €2.20 ticket from a machine on arrival. Milan’s whole urban network now takes contactless at the gates, which is the simplest way for a visitor to ride. If you want your phone working for tap-to-pay and maps the moment you land, sort out data with my Italy SIM card and eSIM guide.

Late-night and very early arrivals. This is where the airports differ most. From Malpensa, the trains stop around 23:00-23:30, but the shuttle buses run through much of the night and so do flat-fare taxis. From Bergamo, the coaches run until roughly 01:30, then it’s a taxi. At Linate, the M4 stops around 00:30; after that a metered taxi (€30-40) is your cheapest realistic option given how close it is. Always check the last departure for your specific route on the day you fly — schedules thin out late and on Sundays and holidays.

Luggage. The Malpensa Express has proper luggage racks; the metro and city buses do not, so if you’ve got two big suitcases, the M4 at rush hour from Linate can be a squeeze (still doable, just be ready to wedge in). Coaches stow bags underneath. None of this is a dealbreaker — Milan’s transit is used to airport travelers — but it’s a reason to favor the train or coach over a packed metro car when you’re loaded down.

Getting to Malpensa for an early flight. Reverse the logic. The first Malpensa Express from the city is around 05:25, so for a flight before roughly 07:30-08:00 you may be racing the timetable. For genuinely early departures, take a night coach to Malpensa (they run when the train doesn’t) or pre-book a taxi/transfer the evening before. I’d never gamble a 6 a.m. long-haul on catching the first train — give yourself a buffer.

Ride-hailing and taxi norms. Uber operates in Milan, but mostly as Uber Black (the pricier licensed-car tier), not the cheap UberX you might expect at home; free-now/itTaxi-style apps hail regular licensed taxis. All legitimate taxis are white with a roof sign and a meter. The golden rule at every Milan airport: never accept a ride from someone who approaches you inside the terminal or just outside the doors offering a “taxi.” Walk to the official, marked rank. The flat Malpensa fare and the metered Linate/Bergamo fares only apply to those legitimate cars — more on avoiding the dodgy ones in my Italy tourist scams guide.

Onward trains from Centrale. If Milan is a launch pad rather than the destination, remember that Milano Centrale is the hub for high-speed Trenitalia and Italo services to Venice, Florence, Bologna, Rome and beyond. The Malpensa Express to Centrale, or the Bergamo/Linate buses to Centrale, plug you straight into that network. I walk through booking and riding those in how to get around Italy, and you can slot the whole thing into a broader route with my Italy itinerary library.

Which option should I choose?

Let me make this concrete by scenario, because “it depends” is useless when you’re standing in an arrivals hall.

You landed at Malpensa and you’re staying centrally (Duomo, Brera, Navigli, Sant’Ambrogio). Take the Malpensa Express to Cadorna (~32 min, ~€15), then the M1 or M2 metro to your stop. Fastest, most predictable.

You landed at Malpensa, staying near Centrale, or connecting to a high-speed train. Malpensa Express to Centrale (~50 min, ~€15). You step off the airport train into the same station as your onward train.

You landed at Malpensa, it’s the middle of the night, or you’re watching every euro. Take the shuttle coach to Centrale (~€8-12). It runs when the train doesn’t and it’s a touch cheaper; just accept the traffic risk.

You’re a group of three or four arriving at Malpensa with luggage, going to a central hotel. Seriously consider the flat-fare taxi (~€110 split). Door to door, no metro changes with bags, and per-person it’s competitive with four train tickets.

You landed at Linate. Take the M4 metro to San Babila (~12 min, €2.20), tapping a contactless card. It’s the best-value airport-to-center ride in the whole city. Only default to a taxi (~€30-40) if it’s after 00:30 or you’re heavily loaded.

You landed at Bergamo. Take the direct coach to Milano Centrale (~€8-10, ~1 hour). Don’t overthink it. Consider the train-via-Bergamo only on the way out, if you fancy seeing the Città Alta.

You care about budget above all. Linate via M4 or bus 73 (€2.20) is unbeatable. From Malpensa and Bergamo, the coaches (~€8-10) beat the train and the taxi. For the bigger picture on costs in the city, see my Italy travel budget breakdown.

For the wider context of planning a Milan trip — and where this all fits — start at the Milan and Northern Italy travel guide, and if you’re tight on time, my 2 days in Milan itinerary assumes you’ve made it in from the airport using exactly the routes above. Broader Italy planning lives in the Italy travel guide and lodging across the country in choosing where to base yourself in Italy.

Milano Centrale, the main hub where many Milan airport to city center routes arrive
Photo: Daniel Case / CC BY-SA 3.0 via Wikimedia Commons

Final thoughts

Milan’s three airports look intimidating on a map, but the playbook is simple once you know which field you’re at. From Malpensa, ride the Malpensa Express (Cadorna if you’re central, Centrale if you’re connecting). From Linate, hop the M4 metro for €2.20 and be near the Duomo in twelve minutes. From Bergamo, grab the direct coach to Centrale. Confirm the day’s exact times and fares with the official operators, keep your contactless card handy, and skip anyone hawking rides at the terminal door. Sort the transfer, and the rest of Milan opens right up.

Questions travellers ask

What is the cheapest way from Malpensa to Milan city center?

The cheapest direct option is the shuttle coach to Milano Centrale, usually around €8-12 one-way if you book ahead, versus about €15 for the Malpensa Express train. There’s also a slightly cheaper standard Trenord regional train, but it’s slower and less frequent. For most people, the small extra cost of the Express buys speed and reliability.

How do I get from Linate Airport to the center of Milan?

Take the M4 (blue) metro straight from the terminal to San Babila, about 12 minutes for a €2.20 ATM ticket, with the Duomo a short walk away. Tap a contactless card at the gate. The M4 runs roughly 06:00 to 00:30 daily. Outside those hours, a metered taxi runs about €30-40.

Does Bergamo airport have a train to Milan?

No — Bergamo Orio al Serio has no train station at the airport. The simplest route to Milan is a direct coach to Milano Centrale (~1 hour, ~€8-10). Alternatively, take a short local bus to Bergamo’s town railway station and a Trenord regional train into Milan, which is cheaper but slower with a change.

How long does the Malpensa Express take to Milan?

It depends on the station. To Milano Cadorna it’s about 32 minutes; to Milano Centrale, about 50 minutes. Trains leave roughly every 30 minutes from both Malpensa terminals, from around 05:00 until late evening. If you’re staying centrally, Cadorna is both faster and better connected to the M1/M2 metro lines.

How much is a taxi from Malpensa to Milan?

Official white taxis charge a flat fare of around €110 for the whole car between either Malpensa terminal and central Milan, day or night. Confirm the flat rate with the driver before you set off, and only use the marked official rank outside arrivals. For a group of four sharing, splitting that fare is often competitive with four separate train tickets.

Which Milan airport is closest to the city center?

Linate (LIN) is by far the closest, only about 8 km southeast of the center and now linked by the M4 metro in roughly 12 minutes. Malpensa is about 50 km northwest, and Bergamo about 45 km east. If you can choose your flight, landing at Linate makes the transfer into town the quickest and cheapest of the three.

Can I use a contactless card on Milan’s airport transport?

Yes, for the metro and city buses — including the M4 from Linate and bus 73 — just tap a contactless bank card or phone at the gate or reader for the standard €2.20 fare. The Malpensa Express train and the long-distance airport coaches use their own tickets, bought online, at machines, or via app, so contactless tap-and-go doesn’t cover those.

Should I take the train or the bus from Malpensa?

Take the train if timing matters — it’s immune to Milan’s traffic and runs to a reliable ~32-50 minute schedule. Take the bus if you want to save a few euros, or if you’re arriving late at night when the trains have stopped (the buses run much later and even overnight). For tight onward connections at Centrale, the train’s predictability is worth the small premium.

Up next in this guide

2 Days in Milan: The Perfect Itinerary

Read next → 2 Days in Milan: The Perfect Itinerary