Milan Airports Guide: Malpensa, Linate & Bergamo Explained
Milan is served by three airports: Malpensa (MXP), Linate (LIN), and Bergamo Orio al Serio (BGY). Together the three airports form Italy's largest airport system by passenger volume, handling over 56 million passengers per year. This guide breaks down the key differences, transport links, costs, and which airport makes sense for your trip.

Plan and book this trip
Tools from our partner Travelpayouts help you compare flights and hotels. If you book through them, we may earn a commission at no extra cost to you.
Flights
Hotels map
TL;DR
- Milan has three airports: Malpensa (MXP) for intercontinental flights, Linate (LIN) for short-haul and domestic routes, and Bergamo (BGY) for low-cost carriers.
- Linate is the closest to the city center at around 8 km, with a direct metro connection (M4) costing €2.20.
- Malpensa is the main international hub, roughly 49 km northwest of the city. The Malpensa Express train is the most efficient way in. See our guide to getting around Milan for full transport context.
- Bergamo (BGY) is technically in the Bergamo province, not Milan, but shuttle buses to Milan Centrale run frequently and cost around €10-14.
- Together the three airports handled roughly 56.3 million passengers in 2024, making Milan the largest airport system in Italy.
Milan's Three Airports at a Glance

One of the most common points of confusion for travelers is that Milan's airports are not all in Milan. Malpensa sits about 49 km northwest of the city center in the province of Varese. Bergamo Orio al Serio is even further in the other direction, near Bergamo, roughly 48 km east. Only Linate is genuinely close to the city, around 8 km southeast of the Duomo. Airlines often market Bergamo as 'Milan Bergamo' to keep things simple for bookings, but the ground journey tells a different story.
In terms of passenger volume, Malpensa is the dominant hub with around 28.7 million passengers in 2024. Bergamo has surpassed Linate in total traffic, handling approximately 16.9 million passengers in 2024, making it Italy's third-busiest airport overall. Linate processes around 10.6 million passengers annually. Understanding this hierarchy helps set expectations: Malpensa is your long-haul gateway, Bergamo serves budget airlines on medium-haul routes across Europe, and Linate focuses on domestic flights and key EU city connections.
- Milan Malpensa (MXP) Main intercontinental hub. ~49 km northwest. Two terminals (T1 for most airlines including Ryanair, T2 for easyJet and select low-cost carriers) linked by free shuttle every 7 minutes. Official site: milanomalpensa-airport.com
- Milan Linate (LIN) Closest airport to the city center. ~8 km southeast. Officially named Aeroporto Enrico Forlanini. Domestic and short-haul EU flights. Official site: milanolinate-airport.com
- Bergamo Orio al Serio (BGY) Low-cost carrier hub. ~48 km east of Milan, near Bergamo. Around 48 airlines on 227 routes across 41 countries. Often called Milan Bergamo in flight search tools.
⚠️ What to skip
If you book a flight listed as 'Milan Bergamo' expecting a short transfer into the city, budget at least 60 minutes for the shuttle plus time for traffic. During peak summer weekends and major trade fairs, the journey can stretch to 90 minutes or more.
Getting from Malpensa (MXP) to the City Center

The Malpensa Express train is the standard choice for most travelers, and for good reason. It connects T1 directly to Milano Centrale and Milano Cadorna, with services roughly every 30 minutes. Journey time to Centrale is around 51 minutes; to Cadorna it is shorter at around 40 minutes. Cadorna connects directly to the M1 and M2 metro lines, making it the better destination if you are heading toward the Duomo or Brera. Tickets cost €15 per person one-way (€7.50 for children aged 4-13); check Trenord's official site for current pricing before you travel.
Coach services are cheaper but slower. Multiple operators run shuttle buses between Malpensa and Milano Centrale, with fares typically in the €10-14 range. The trade-off is that buses are subject to motorway traffic, particularly on the A8 autostrada, which backs up significantly during rush hours and before major trade fair events at Fiera Milano Rho. If you land at 17:00 on a Thursday before the Salone del Mobile, factor in extra time.
Taxis from Malpensa operate on a flat fixed rate to the city center, currently around €95-100 for most central Milan destinations. This is regulated, but always confirm the fixed rate with the driver before departure. Private transfers can sometimes undercut taxis for groups of three or four. If you are planning a longer stay and want to understand the broader transit picture, the getting around Milan guide covers metro lines, trams, and day passes in detail.
✨ Pro tip
Malpensa has two terminals: T1 handles most airlines including Ryanair, while T2 serves easyJet and select low-cost carriers. Both terminals have their own Malpensa Express station, so check your terminal before boarding.
Getting from Linate (LIN) to the City Center

Linate is the most convenient airport for anyone staying in central or eastern Milan. The M4 metro line connects directly to the airport and runs to San Babila in about 15 minutes, with onward connections to the M1 (red line) for Duomo, Cadorna, and points west. A standard ATM transit ticket costs €2.20 and is valid for 90 minutes across all city transport modes. Bus 73 covers the same route and drops you at San Babila too, running every 10 minutes during the day.
Taxis from Linate to the city center typically cost €30-40 on the meter, with no fixed fare. This is reasonable if you are traveling with luggage and the M4 feels too complicated on arrival. Linate is the airport of choice for many business travelers on short Italian domestic hops, and the compact terminal reflects that: check-in to departure gate rarely takes more than 20 minutes once you are through security. Linate is also well-placed if you are staying near Porta Venezia or the eastern city neighborhoods, shaving further time off the journey.
Getting from Bergamo Orio al Serio (BGY) to Milan

Bergamo is the home of low-cost flying into northern Italy. Ryanair in particular operates a significant share of routes here, and the airport's passenger numbers have grown substantially over the past decade. The most practical connection to Milan is the shuttle bus to Milano Centrale, operated by multiple companies including Autostradale and Terravision. Fares are typically €10-14 each way, and journey time is around 55 to 75 minutes depending on traffic. Buses run frequently, especially after flight arrivals, so you rarely wait more than 20-30 minutes.
There is also a train connection, though it requires more steps. You take a local bus or taxi from the airport to Bergamo train station (about 10 minutes), then a regional train to Milano Centrale (around 55 minutes). Total door-to-door time is comparable to the direct shuttle, and the cost can be lower, but the extra change makes it less appealing if you have heavy luggage. Taxis direct from Bergamo airport to Milan city center are expensive, typically €100 or more, and are not worth it unless you are splitting costs between a group.
💡 Local tip
Buy your Bergamo-Milan shuttle bus ticket in advance online, especially during summer or peak fair season. Walk-up prices at the terminal are often higher, and during busy periods the next available bus may already be full.
Which Airport Should You Use?
The straightforward answer depends entirely on where you are flying from and who you are flying with. For transatlantic and long-haul flights from North America, the Middle East, or Asia, you have no choice: Malpensa is the only option. For flights within Europe, you may find that Bergamo serves the same route at a fraction of the cost, particularly on Ryanair. The price difference on the ticket can be significant, but factor in the extra ground transport cost and time before declaring it a bargain.
Linate is ideal if you are flying on Alitalia's successor ITA Airways or on EU connecting flights from major European hubs, and especially if you are staying centrally. It is also the airport closest to the Duomo district and the historic center, meaning you can be at your hotel in under 30 minutes from landing. For a short business trip or a first visit to Milan, Linate's combination of proximity and simplicity is hard to beat.
- Long-haul, intercontinental, or Star Alliance flights: choose Malpensa (MXP)
- Short EU hops, domestic Italy, ITA Airways routes: choose Linate (LIN)
- Budget carriers like Ryanair, Wizz Air, easyJet: likely Bergamo (BGY) or Malpensa (T1 or T2 depending on airline)
- Traveling with heavy luggage or staying near the center: Linate wins on convenience
- Flexible on airport and price-sensitive: compare total cost including transfer before booking
Seasonal Patterns and Operational Notes

Milan's airports follow the city's event calendar closely. Passenger volumes spike around the Salone del Mobile (furniture and design fair, typically April), Fashion Weeks in February and September, and summer holiday season in July and August. During these windows, transfer times from Malpensa and Bergamo can lengthen noticeably, and flight prices surge. If you are planning a trip around design or fashion events, the Milan Design Week guide has practical timing advice.
Malpensa sits within the Parco Naturale della Valle del Ticino protected area. This geography makes the airport prone to dense autumn and winter fog, which can cause delays and diversions between November and February. If you are traveling during these months, check weather forecasts and airline delay policies. Linate, being closer to the city and the Po Valley plain, also experiences fog but is less operationally impacted given its shorter approach paths.
For those visiting outside peak summer, the best time to visit Milan is generally April to June or September to October. These shoulder periods mean lighter airport crowds, calmer transfer journeys, and more availability on public transport. Winter visits are feasible and can be rewarding for the city's cultural program, though fog at Malpensa is a genuine consideration.
Inter-Airport Connections and Practical Notes

Shuttle bus services connect all three airports to each other, which is useful if you are arriving at one and departing from another, or if you need to make a connection that your airline has not routed through the same terminal. Journey times between Malpensa and Bergamo are typically 75 to 90 minutes by shuttle. These services exist but are less frequent than the city-center routes, so check schedules in advance rather than assuming you can show up and board.
For the trip itself, Milan's central rail stations at Milano Centrale and Cadorna serve as the practical hubs linking all three airport connections. From Centrale you can also access high-speed rail to Rome (around 3 hours) and Venice (around 2.5 hours), or regional trains to Lake Como. If your itinerary includes day trips outside the city, Centrale is the logical base for onward journeys.
FAQ
Which Milan airport is closest to the city center?
Linate (LIN) is by far the closest, at around 8 km southeast of the city center. The M4 metro connects directly to San Babila in about 15 minutes for €2.20. Malpensa and Bergamo are both roughly 48-50 km from the city and require significantly longer transfers.
How do I get from Malpensa airport to Milan city center?
The Malpensa Express train is the most reliable option, running to Milano Centrale (about 51 min) and Milano Cadorna (about 40 min) with departures roughly every 30 minutes. Tickets cost €15. Coach shuttles are cheaper at €10-14 but take longer, especially in traffic. Fixed-rate taxis cost around €95-100 to most central destinations.
Is Bergamo airport actually in Milan?
No. Bergamo Orio al Serio (BGY) is located near Bergamo, about 48 km east of Milan. Airlines market it as 'Milan Bergamo' because it serves the Milan metropolitan area, but it is a separate city. Budget at least 60-75 minutes on the shuttle bus to reach Milano Centrale.
Which Milan airport do budget airlines use?
Ryanair primarily uses Bergamo (BGY) and Malpensa Terminal 1 (MXP). easyJet operates from Malpensa Terminal 2. Wizz Air typically operates from Malpensa. Linate is mainly used by ITA Airways (Italy's national carrier) and full-service European airlines on domestic and EU routes.
Can I travel between Milan's airports by public transport?
Yes, shuttle buses connect all three airports to each other and to Milan city center. There is no direct rail link between airports. Inter-airport shuttles take 75-90 minutes between Malpensa and Bergamo. If you need to transfer between airports, book a shuttle in advance and check current schedules, as frequency is limited compared to city-center services.