
When you search for flights to Milan, three airports appear in the results: Linate, Malpensa and Bergamo Orio al Serio. All three are sold as Milan, but they sit at very different distances from the city and serve different kinds of flights. Choosing well can save an hour on the ground, sometimes more. Here is how we would decide, based on the drives we do every week.
Linate: the city airport
Linate is the closest to the centre, about 8 km east of Porta Venezia. On a weekday morning Google Maps puts the drive to Milano Centrale at around 20 minutes; at peak times it can double. Linate mostly handles domestic and European flights, including frequent services from Rome, London and other European capitals. It is compact, so the walk from the gate to the arrivals hall is short.
If your flight options include Linate and your hotel is in the city, it is usually the easiest choice. It is also a practical airport for the east side of Lombardy: Bergamo's old town, Franciacorta and Lake Garda are closer from Linate than from Malpensa.
Malpensa: the intercontinental hub
Malpensa is about 50 km north-west of Milan and is where nearly all long-haul flights from North America, the Middle East and Asia arrive. The drive to the centre is about 50 minutes on the A8 motorway outside the rush hours. Terminal 1 serves intercontinental and most full-service European airlines; Terminal 2 is used almost entirely by easyJet.
Malpensa is not only for Milan. Its position makes it the natural gateway for Lake Maggiore, Lake Como and the Swiss Alps. From the terminal, Como is about 50 minutes away, Stresa about an hour and Lugano just over an hour. For Zermatt, the Täsch terminal is around 2 h 45 by road, and St. Moritz around 3 h 15.
Bergamo Orio al Serio: the low-cost base
Bergamo airport lies about 50 km east of Milan, close to the A4 motorway. It is a major base for low-cost airlines, with many routes across Europe. The drive to central Milan takes around 45 to 50 minutes in normal traffic. Bergamo itself is worth a visit: the upper town, Città Alta, is a short drive from the terminal.
For Milan city, Bergamo makes sense when the fare or the schedule is clearly better. For Lake Iseo, Franciacorta, Lake Garda or the Dolomites, it can actually be the closer airport.
How to choose
Start from where you are going, not from the airport name. A hotel in central Milan points to Linate first, then Malpensa. A villa on Lake Como or a chalet in Switzerland points to Malpensa. A trip to Verona, Lake Garda or the eastern Alps can work well from Bergamo or Linate.
Then look at the time of day. Late-evening arrivals are easier at airports close to your destination, because nobody wants an extra hour on the road at midnight. Early-morning departures from Malpensa need an early start from central Milan, especially on weekdays when traffic builds from around 7:30.
Finally, think about luggage and group size. Any of the three airports works with a chauffeur, but a family with ski bags or a group of six is far more comfortable in a Mercedes V-Class or the Sprinter Luxury VIP than in two taxis.
Changing between airports
Some itineraries arrive at one airport and leave from another. Linate to Malpensa is about 66 km, roughly 55 minutes in normal traffic. If you have a connection between the two on separate tickets, allow generous time: you have to collect your bags, drive across and check in again.
Waiting time and flight tracking
Whichever airport you choose, we track the flight and adapt the pick-up to the real landing time. Waiting time is included: 60 minutes at Malpensa and Bergamo, 40 minutes at Linate, counted from the actual landing. Your driver waits in the arrivals hall with a name sign, and your written price stays the same if the flight is late.

