Booking flights to Milan can be surprisingly confusing. Your search results may show three different airports with very different prices: Milan Malpensa (MXP), Milan Linate (LIN) and Milan Bergamo Orio al Serio (BGY). The cheapest ticket is often to Bergamo, but that does not necessarily mean it is the best choice for your trip. This guide compares all three airports in practical terms so you can decide which one actually works best for your itinerary, budget and schedule.
Get the latest updates straight to your inbox!

Meet Milan’s Three Airports: The Big Picture
The Milan airport system is the largest in Italy by passenger numbers and combines three very different airports: Malpensa, Linate and Bergamo. Malpensa is the main intercontinental hub, Linate is the compact city airport closest to the centre, and Bergamo is the workhorse for low-cost carriers serving northern Italy and the Alps region.
In simple terms, if you are flying long-haul from outside Europe, you are most likely to arrive at Malpensa. If you are coming on a short European hop with a full-service carrier such as ITA Airways, Lufthansa or Iberia, there is a good chance you will land at Linate. If you find a bargain on a low-cost airline like Ryanair, Wizz Air or easyJet, there is a strong chance that flight uses Bergamo.
However, airport choice is about more than airlines. Malpensa is roughly 45 to 55 minutes from central Milan by train, Linate can be as little as 12 to 15 minutes by metro, and Bergamo is about an hour away by shuttle bus. Those differences matter if you are landing late in the evening, have children in tow, or are planning a same-day onward train from Milano Centrale.
The best airport for you depends on where you are staying, which cities or lakes you plan to visit, and how much you value speed, comfort or low fares. Below, we look at each airport through the lens of access, routes, low-cost options, onward trains and overall convenience, with real-world scenarios to help you decide.
Milan Malpensa (MXP): The Long-Haul and Lakes Hub
Malpensa is Milan’s main international gateway and the busiest airport in northern Italy. Located around 45 kilometres northwest of the city, it has two terminals and handles most intercontinental flights, including services to North America, the Middle East and Asia. If you are flying from cities like New York, Toronto, Dubai or Tokyo on airlines such as Emirates, Qatar Airways, Delta or ITA Airways, you will typically arrive at Malpensa.
The Malpensa Express train is the key to making the distance manageable. It runs from both Terminal 1 and Terminal 2 into Milan with frequent departures throughout the day. A one-way ticket from Malpensa to Milano Cadorna or Milano Centrale costs about 15 euros in second class and the ride usually takes 50 to 55 minutes, depending on the route. Trains run roughly every 15 to 30 minutes, so even after a delayed flight you rarely wait long on the platform.
For example, if you land at Malpensa at 09:00 in Terminal 1, you might reach the Malpensa Express platform by 09:25, catch a 09:37 train to Milano Centrale and be stepping out into the concourse just after 10:30. From there, you can change to the metro for Duomo, or board an onward high-speed train to Florence, Venice or Rome. This makes Malpensa particularly attractive for travellers combining Milan with other major Italian cities by rail.
There are also direct coach services from Malpensa to Milano Centrale and other parts of the region. Buses are usually a bit cheaper than the train, but subject to traffic on the A8 motorway, especially on Friday evenings and in summer. Taxis into the city run on a fixed fare to central Milan that is significantly higher than the train; they are convenient for families with bulky luggage or late arrivals but not the most economical option for solo travellers.
Milan Linate (LIN): The Compact City Airport
Linate is Milan’s true city airport, sitting just east of the centre at around 7 to 8 kilometres away. It is much smaller than Malpensa and serves mostly domestic Italian routes and short-haul European flights operated by full-service airlines. You will often see flights from business-focused cities like Rome, Frankfurt, Paris, London and Brussels using Linate, making it popular with corporate travellers and weekend city breakers.
The real game-changer for Linate is the M4 “Blue” metro line, which now directly links the airport with the city. From the terminal, you walk straight down to the station and ride the driverless metro to San Babila, a central stop near the Duomo and the fashion district. The journey takes around 12 to 15 minutes and uses a standard urban transport ticket that currently costs just over 2 euros. Trains run frequently from early morning to shortly after midnight, with a night bus replacement operating in the small hours.
In practice, this means that someone landing at Linate at 18:00 can be standing in Piazza del Duomo by around 18:30 with nothing more complicated than a metro ride and a short walk. For travellers staying in central areas like Duomo, Brera, Porta Venezia or San Babila, this often makes Linate the most effortless option, even if the airfare is slightly higher than a low-cost flight to Bergamo.
Before the metro opened, passengers relied on local buses such as the 73 to reach the centre or shuttle coaches to Milano Centrale. Those are still available and can be useful if your hotel is closer to the station or if you are continuing by train. However, for most visitors today, tapping a contactless card at the Linate metro gates and riding to San Babila is the fastest and simplest way into town.
Bergamo Orio al Serio (BGY): Low-Cost Gateway to Milan and the Alps
Bergamo Orio al Serio, often labelled “Milan Bergamo” in airline search engines, sits just outside the city of Bergamo about 45 kilometres northeast of Milan. It has become a major base for low-cost carriers, particularly Ryanair and Wizz Air, which connect northern Italy to dozens of destinations across Europe and North Africa. If you see a particularly cheap fare to Milan from cities like Dublin, Manchester, Warsaw, Barcelona or Athens, there is a strong chance it will land at Bergamo.
Although Bergamo is marketed as a Milan airport, it is in reality a separate city. The most common way to reach Milan is by direct shuttle bus to Milano Centrale. Several operators, including Terravision and Orio Shuttle, run frequent services throughout the day. Typical journey times are around 50 to 60 minutes, depending on traffic, and recent examples show online one-way fares around 10 euros for adults, with slightly higher prices if you buy at the last minute or directly at the bus stand.
A practical example: you land at Bergamo at 10:00 on a Ryanair flight from London. After disembarking and clearing security, you might reach the bus area by 10:30. Buses to Milan usually queue up just outside arrivals; you check which one leaves first, buy a ticket on your phone or at the counter, and if you catch an 10:40 departure you are often at Milano Centrale shortly before 11:40 if traffic is moderate. From there, you still need to take the metro or a taxi to reach your hotel.
Another option is to head into Bergamo city itself. Local buses connect the airport to Bergamo’s train station and centre in about 15 to 20 minutes, using ordinary regional tickets. From Bergamo station, regular regional trains to Milano Centrale cost only a few euros and take roughly 50 minutes. This route can make sense if you want to spend a night in Bergamo’s historic Città Alta before moving on to Milan or if you are heading toward the mountains rather than the city.
City Access and Transport: Which Airport Gets You Into Milan Fastest?
When it comes to pure city access, Linate usually wins. Being so close to the centre and now fully integrated into the metro network, it offers the shortest and most predictable transfer into central Milan. A 12 to 15 minute metro ride to San Babila on a standard ticket means you can often be in your hotel room faster than passengers from the other airports have even reached Milano Centrale.
Malpensa comes second in this regard. The Malpensa Express offers a frequent, comfortable and relatively reliable connection to both Milano Centrale and Milano Cadorna. Travel time sits around 50 to 55 minutes into Centrale, and the price is higher than a city metro ticket but still reasonable for a major airport rail link. For many travellers staying in northern or western neighbourhoods, the Cadorna terminus can be especially handy since it is served by two metro lines and is within walking distance of Sforzesco Castle.
Bergamo requires the most time and planning. The shuttle buses can be efficient outside rush hour, but they depend on motorway traffic around Milan. In busy periods, the advertised 50 minutes can stretch closer to 70 or 80 minutes. If you have a tight connection to a high-speed train at Milano Centrale, it is wise to allow extra buffer time or consider arriving a day earlier. For those heading instead to Bergamo city, the airport is extremely close, but you then add another train leg to reach Milan.
Consider two real itineraries. A business traveller with a meeting near Duomo at 09:00 could land at Linate at 07:30, ride the M4 metro, drop a bag at a hotel by 08:15 and still walk to the office with time for a coffee. The same schedule from Malpensa would be riskier, as an 07:30 landing leaves a tighter margin for the longer train ride and any delays. From Bergamo, making that 09:00 meeting on the same morning would be quite stressful unless you arrive very early.
Flights, Airlines and Low-Cost Options
The choice of airport often starts with airline and route availability. Malpensa is the only Milan airport that handles a large volume of long-haul flights. If you are arriving from places like New York, Los Angeles, São Paulo, Dubai or Singapore, you will almost certainly use Malpensa. It is also a major base for easyJet and hosts many European routes on both full-service and low-cost carriers.
Linate caters mostly to domestic Italian and short-haul European traffic. Typical routes include Rome, Naples, Cagliari, Frankfurt, Munich, Paris Charles de Gaulle, London City, London Heathrow and Madrid. Many of these flights are aimed at business travellers and frequent fliers, so you may find higher fares compared with Bergamo, but also more flexible schedules, business-class cabins and convenient timings for early-morning meetings or same-day returns.
Bergamo is dominated by low-cost carriers. Ryanair in particular runs an extensive network from Bergamo, with flights to cities across the UK, Ireland, Scandinavia, Eastern Europe and the Mediterranean holiday belt. Wizz Air adds services to destinations in Central and Eastern Europe and the Middle East. It is common to see very low headline fares to Bergamo, sometimes under 20 euros one way during off-peak periods, although you should factor in extras like checked bags, seat selection and airport transfers into Milan.
For travellers on a tight budget, Bergamo can be appealing. For example, a student visiting from Warsaw might find a Ryanair flight to Bergamo for half the price of a traditional carrier into Linate or Malpensa. Even after paying around 10 euros for the shuttle bus to Milano Centrale, the total cost can still be lower. However, if your time is limited or you are travelling with children and multiple bags, the more expensive, closer-in Linate or the rail-connected Malpensa may be worth the extra money.
Train Links, onward travel and day trips
All three airports connect into the broader northern Italian rail network, but they do it in different ways. Malpensa has the clear advantage of a dedicated train line. The Malpensa Express reaches both Milano Centrale and Milano Cadorna, where you can change to high-speed Frecciarossa and Italo services or regional trains. From Milano Centrale, you can be in Turin in about an hour, Verona in less than two hours, Venice in around 2.5 hours and Florence in under two hours on fast services.
Linate does not have its own heavy rail station but connects directly into the metro grid, which in turn feeds into Milan’s main railway hubs. From the M4 line you can change to other metro lines and reach Milano Centrale, Porta Garibaldi or Cadorna with a straightforward interchange. For instance, a traveller flying into Linate and heading straight to Lake Como could ride the M4 to Dateo or San Babila, change to reach Milano Centrale, then board a regional train to Varenna or Como San Giovanni, all within a couple of hours of landing.
Bergamo sits on a regional rail line rather than a high-speed one. After taking a short bus from the airport to Bergamo station, you can board regional trains to Milano Centrale for a modest fare. This can be a good option if you are spending a night in Bergamo or using it as a base for exploring the foothills of the Alps. From Bergamo, there are also connections towards Brescia, Lake Iseo and the Val Camonica, which may appeal to hikers and skiers.
If you are planning day trips from Milan, the differences show up in how quickly you can start your journey. Landing at Malpensa early in the morning and catching a 10:00 high-speed train from Milano Centrale to Florence is realistic if your flight is on time. From Linate, an early-morning metro ride followed by a simple transfer at Centrale works smoothly. From Bergamo, you would need to factor in the shuttle bus or a regional train back to Milan before you even start your day trip, which can make ambitious same-day plans harder.
Convenience, comfort and who each airport suits best
Convenience is a mix of distance, layout, crowding and the overall passenger experience. Malpensa is a large, modern airport with a full range of shops and services. That means plenty of dining options, lounges and duty-free outlets but also longer walks between gates and more time spent from landing to exit. For long-haul arrivals, the extra space and facilities are usually welcome; for short European hops, some travellers find it a bit sprawling.
Linate, by contrast, feels compact. You typically walk only a short distance from gate to baggage claim and can be outside at the taxi rank or in the metro station within minutes. Many frequent visitors to Milan choose flights into Linate whenever possible because the entire airport experience, from arrival to reaching the centre, can be under 30 to 40 minutes in normal conditions. If you are on a two-night city break and want to maximise your time in town, Linate’s small scale is a major plus.
Bergamo offers a mixed experience. On the one hand, it is efficient at handling the high turnover of low-cost flights, with straightforward arrivals procedures and clear signage to the shuttle buses. On the other hand, peak travel times can bring long queues for security, check-in and boarding, especially on weekends and during holiday seasons when multiple flights depart within a short window. The airport itself has been improved over the years, but it still feels functional rather than luxurious.
In practical terms, Malpensa tends to suit long-haul passengers, those connecting to other Italian cities by train, and travellers heading north to the lakes such as Maggiore and Como. Linate is ideal for business trips, short city breaks and anyone staying close to the centre. Bergamo is the natural choice for budget travellers, those flying from secondary European cities served only by low-cost carriers, and visitors who plan to spend time in Bergamo or the nearby mountains rather than in Milan itself.
The Takeaway
There is no single “best” airport for Milan, only the best match for your particular trip. If you value quick, stress-free access to central Milan above all else and your flights allow it, Linate is usually the smartest option. Its short metro connection to San Babila, modest size and focus on business-friendly routes combine to make it the most city-friendly of the three.
If you are arriving from outside Europe or planning onward high-speed train travel to the rest of Italy, Malpensa generally makes the most sense. The Malpensa Express train, direct connections to Milano Centrale and Cadorna, and wide choice of international routes mean you can land, clear formalities and be on your way to other cities with relatively little friction.
Bergamo, finally, offers compelling value for money if you are prepared for a longer bus or train ride. The savings from a low-cost ticket can be significant, particularly for groups or families, and the shuttle buses to Milano Centrale are simple to use. Just remember to build in extra time for traffic and consider an overnight stop if you have an early morning flight.
When comparing options in your flight search results, look beyond the airport names and prices. Consider where your accommodation is located, what time you land, how comfortable you are with using trains and metros, and whether you plan onward travel beyond Milan. With a bit of planning, all three airports can work well. The key is picking the one that best aligns with your route, budget and travel style.
FAQ
Q1. Which Milan airport is closest to the city centre?
Linate is the closest airport to central Milan, around 7 to 8 kilometres away, and is linked directly to the centre by the M4 metro line in about 12 to 15 minutes.
Q2. Which Milan airport is best for long-haul international flights?
Malpensa is the main long-haul hub, handling most intercontinental flights to and from destinations in North America, the Middle East, Asia and beyond.
Q3. How much does the Malpensa Express train cost and how long does it take?
A one-way Malpensa Express ticket to Milano Centrale or Milano Cadorna costs around 15 euros in second class and takes roughly 50 to 55 minutes, depending on the route.
Q4. Is Bergamo really a Milan airport?
Bergamo Orio al Serio is a separate city about 45 kilometres from Milan, but it is marketed as “Milan Bergamo” because shuttle buses and regional trains link it to Milano Centrale in about an hour.
Q5. Which airport is best if I am staying near the Duomo?
If schedules and prices work for you, Linate is usually best, as the M4 metro takes you straight to San Babila, a short walk from the Duomo, in under 15 minutes.
Q6. Which airport is best for low-cost flights?
Bergamo is the main low-cost hub, especially for Ryanair and Wizz Air, and often offers the lowest fares, though you should factor in transfer time and costs to Milan.
Q7. Can I reach Milan from Linate without taking the metro?
Yes. In addition to the M4 metro, you can use city buses such as the 73 to reach the centre or shuttle coaches and taxis to get to Milano Centrale or other districts.
Q8. Which airport should I choose if I have a tight train connection at Milano Centrale?
Malpensa works well thanks to the Malpensa Express directly into Milano Centrale, while Bergamo requires a shuttle bus or regional train and more buffer time. From Linate, you must combine the metro with a short hop to Centrale.
Q9. Are taxis from the airports to Milan city centre expensive?
Taxis from all three airports are more expensive than public transport. Malpensa and Bergamo rides can be particularly costly because of the distance, while Linate taxis are cheaper but still far pricier than the metro.
Q10. If I want to visit the Italian lakes, which airport is most convenient?
Malpensa is often the most convenient for Lakes Maggiore and Como thanks to its location and rail links from Milano Centrale and Cadorna, while Bergamo can work well for some routes towards Lake Iseo and the Alpine foothills.