Historic architecture in Milan with decorative lamp posts lining elegant streets.

Flights to Milan

140 routes into Milan, with the airlines that fly them, flight times and the fares we have seen. Lowest nonstop fare seen: $13 one-way from Bilbao (22 Oct 2026).

Photo of Milan: Karolina on Pexels.

Routes to Milan

FromAirlinesFlight timeFare seenBook
Agadir to MilanAGA–BGYRyanair, Malta Air3h 28m$55 nonstopBook
Alghero to MilanAHO–BGYRyanair, Malta Air1h 13m$22 nonstopBook
Alicante to MilanALC–MXPRyanair, Wizz Air, Wizz Air Malta1h 54m$18 nonstopBook
Amman to MilanAMM–BGYRyanair3h 55m$153, 1 stopBook
Arrecife to MilanACE–BGYRyanair, Malta Air3h 57m$44 nonstopBook
Asturias to MilanOVD–BGYVolotea2h 5m$26 nonstopBook
Athens to MilanATH–BGY · all flights from AthensRyanair2h 19m$21 nonstopBook
Barcelona to MilanBCN–MXP · all flights from BarcelonaWizz Air, Vueling, Ryanair1h 24m$15 nonstopBook
Bari to MilanBRI–BGYRyanair, Malta Air1h 27m$17 nonstopBook
Belfast to MilanBFS–BGYRyanair2h 23m—Book
Berlin to MilanBER–BGY · all flights from BerlinRyanair, Malta Air1h 30m$19 nonstopBook
Biarritz to MilanBIQ–BGYRyanair1h 39m$32 nonstopBook
Bilbao to MilanBIO–MXPWizz Air, Vueling, easyJet1h 42m$13 nonstopBook
Birmingham to MilanBHX–BGY · all flights from BirminghamRyanair1h 54m$22 nonstopBook
Brasov to MilanGHV–MXPWizz Air, Wizz Air Malta2h 8m$26 nonstopBook
Brindisi to MilanBDS–BGYRyanair, Malta Air1h 35m$24 nonstopBook
Bristol to MilanBRS–BGY · all flights from BristolRyanair, Malta Air1h 53m$21 nonstopBook
Brno to MilanBRQ–BGYRyanair, Malta Air1h 19m$18 nonstopBook
Brussels to MilanCRL–BGYRyanair, Malta Air1h 20m$19 nonstopBook
Bucharest to MilanOTP–BGYRyanair, Wizz Air, Wizz Air Malta2h 7m$14 nonstopBook
Budapest to MilanBUD–BGYRyanair, Malta Air1h 27m$17 nonstopBook
Cagliari to MilanCAG–BGYRyanair, Malta Air1h 24m$17 nonstopBook
Cairo to MilanCAI–LIN · all flights from Cairo—3h 43m$167, 1 stopBook
Casablanca to MilanCMN–LIN · all flights from Casablanca—2h 58m$98, 1 stopBook
Castellon de la Plana to MilanCDT–BGYRyanair1h 44m—Book
Catania to MilanCTA–BGYRyanair, Malta Air1h 46m$18 nonstopBook
Chania to MilanCHQ–BGYRyanair2h 34m—Book
Chisinau to MilanRMO–MXPWizz Air, Wizz Air Malta2h 27m$27 nonstopBook
Cluj-Napoca to MilanCLJ–BGYRyanair, Wizz Air Malta, Malta Air1h 51m$16 nonstopBook
Cologne to MilanCGN–BGYRyanair, Malta Air1h 16m$15 nonstopBook
Comiso to MilanCIY–MXPWizz Air, Wizz Air Malta1h 51m$22 nonstopBook
Copenhagen to MilanCPH–BGYRyanair, Malta Air, Norwegian Air Sweden1h 54m$18 nonstopBook
Cork to MilanORK–BGYRyanair2h 22m$103, 1 stopBook
Crotone to MilanCRV–BGYRyanair, Malta Air1h 42m$17 nonstopBook
Dortmund to MilanDTM–MXPWizz Air, Wizz Air Malta1h 20m$30 nonstopBook
Dublin to MilanDUB–BGY · all flights from DublinRyanair, Malta Air2h 18m$21 nonstopBook
Dubrovnik to MilanDBV–BGYRyanair, Malta Air1h 27m$18 nonstopBook
Dusseldorf to MilanNRN–BGYRyanair, Malta Air1h 23m$32 nonstopBook
Edinburgh to MilanEDI–BGY · all flights from EdinburghRyanair, Malta Air, Ryanair UK2h 20m$28 nonstopBook
Eindhoven to MilanEIN–BGYRyanair, Malta Air1h 24m$40 nonstopBook
Faro to MilanFAO–BGYRyanair, Malta Air2h 42m$48 nonstopBook
Fez to MilanFEZ–BGYRyanair, Malta Air2h 45m$18 nonstopBook
Frankfurt to MilanFRA–LIN · all flights from FrankfurteasyJet, AirDolomiti1h 8m$51 nonstopBook
Gdansk to MilanGDN–BGYRyanair, Malta Air1h 56m$17 nonstopBook
Glasgow to MilanGLA–MXP · all flights from GlasgowWizz Air2h 20m$70, 1 stopBook
Granada to MilanGRX–MXPVueling2h 15m$52, 1 stopBook
Helsinki to MilanHEL–BGY · all flights from HelsinkiRyanair, Malta Air, Norwegian Air Sweden2h 53m$36 nonstopBook
Heraklion to MilanHER–BGYRyanair2h 40m$202 nonstopBook
Iasi to MilanIAS–BGYRyanair, Wizz Air Malta, Malta Air2h 14m$20 nonstopBook
Ibiza to MilanIBZ–BGYRyanair, Malta Air1h 46m$32 nonstopBook
Jeddah to MilanJED–MXP · all flights from JeddahWizz Air, Wizz Air Malta5h 17m$179 nonstopBook
Kalamata to MilanKLX–BGYRyanair2h 15m$233, 2 stopsBook
Katowice to MilanKTW–BGYRyanair1h 36m$17 nonstopBook
Kaunas to MilanKUN–BGYRyanair, Malta Air2h 19m$18 nonstopBook
Kefallinia to MilanEFL–BGYRyanair2h 2m—Book
Kerkyra to MilanCFU–BGYRyanair, Malta Air1h 50m$108 nonstopBook
Knock to MilanNOC–BGYRyanair2h 31m—Book
Kos to MilanKGS–BGYRyanair, Malta Air2h 41m$24 nonstopBook
Krakow to MilanKRK–MXPRyanair, Wizz Air, Malta Air1h 42m$18 nonstopBook
Kutaisi to MilanKUT–MXPWizz Air, Wizz Air Malta3h 53m$33 nonstopBook
La Coruna to MilanLCG–MXPVueling, easyJet2h 13m$58 nonstopBook
Lamezia Terme to MilanSUF–BGYRyanair, Malta Air1h 39m$18 nonstopBook
Lampedusa to MilanLMP–MXPWizz Air1h 58m$96, 1 stopBook
Larnaca to MilanLCA–MXPWizz Air, Wizz Air Malta, Cyprus Airways3h 31m$38 nonstopBook
Las Palmas to MilanLPA–BGYRyanair, Malta Air4h 12m$30 nonstopBook
Limnos to MilanLXS–BGYRyanair2h 16m—Book
Lisbon to MilanLIS–BGY · all flights from LisbonRyanair, Malta Air2h 39m$27 nonstopBook
Liverpool to MilanLPL–BGYRyanair2h 3m—Book
Lodz to MilanLCJ–BGYRyanair, Malta Air1h 43m$17 nonstopBook
London to MilanLHR–MXP · all flights from London—1h 40m$100 nonstopBook
Lourdes to MilanLDE–BGYRyanair1h 31m$54 nonstopBook
Luxembourg to MilanLUX–BGYRyanair, Malta Air1h 8m$18 nonstopBook
Madrid to MilanMAD–LIN · all flights from MadridIberia1h 59m$62 nonstopBook
Malaga to MilanAGP–MXPRyanair, Wizz Air, Vueling2h 21m$18 nonstopBook
Malta to MilanMLA–BGYRyanair, Malta Air1h 57m$20 nonstopBook
Manchester to MilanMAN–BGY · all flights from ManchesterRyanair, Malta Air2h 1m$20 nonstopBook
Marrakech to MilanRAK–BGYRyanair, Malta Air3h 14m$23 nonstopBook
Marsa Alam to MilanRMF–MXPWizz Air, easyJet, Wizz Air Malta4h 30m$49 nonstopBook
Marseille to MilanMRS–BGYRyanair, Malta Air1h 3m$17 nonstopBook
Menorca to MilanMAH–BGYRyanair1h 29m—Book
Nantes to MilanNTE–BGYVolotea1h 36m$55, 1 stopBook
Naples to MilanNAP–BGYRyanair, Malta Air1h 19m$22 nonstopBook
New York to MilanJFK–MXP · all flights from New York—8h 31m$331 nonstopBook
Newcastle to MilanNCL–BGY · all flights from NewcastleRyanair2h 9m$40 nonstopBook
Nottingham to MilanEMA–BGYRyanair1h 55m$20 nonstopBook
Ohrid to MilanOHD–MXPWizz Air1h 52m$164, 2 stopsBook
Olbia to MilanOLB–BGYRyanair, Volotea, Malta Air1h 10m$19 nonstopBook
Oslo to MilanTRF–BGY · all flights from OsloRyanair, Malta Air2h 23m$17 nonstopBook
Palermo to MilanPMO–BGYRyanair, Malta Air, ALPAVIA1h 36m$17 nonstopBook
Palma to MilanPMI–MXPRyanair, Wizz Air, Vueling1h 33m$17 nonstopBook
Paphos to MilanPFO–BGYRyanair, Malta Air3h 21m$34 nonstopBook
Paris to MilanBVA–BGY · all flights from ParisRyanair, Malta Air1h 23m$20 nonstopBook
Pescara to MilanPSR–BGYRyanair, Malta Air1h 8m$19 nonstopBook
Podgorica to MilanTGD–MXPWizz Air, Wizz Air Malta1h 39m$15 nonstopBook
Porto to MilanOPO–MXPRyanair, Wizz Air, easyJet2h 21m$23 nonstopBook
Poznan to MilanPOZ–BGYRyanair, Malta Air1h 38m$18 nonstopBook
Prague to MilanPRG–BGYRyanair, Malta Air1h 15m$17 nonstopBook
Preveza to MilanPVK–BGYRyanair1h 58m—Book
Pristina to MilanPRN–MXPWizz Air, Wizz Air Malta1h 48m$35 nonstopBook
Puerto del Rosario to MilanFUE–BGYRyanair, Malta Air4h 1m$56 nonstopBook
Rabat to MilanRBA–BGYRyanair, Malta Air2h 53m$18 nonstopBook
Reggio Calabria to MilanREG–BGYRyanair, Malta Air1h 43m$20 nonstopBook
Reykjavik to MilanKEF–MXPWizz Air, Wizz Air Malta, easyJet4h 1m$48 nonstopBook
Rhodes to MilanRHO–BGYRyanair, Malta Air2h 49m$148 nonstopBook
Riga to MilanRIX–BGYRyanair, Malta Air2h 29m$20 nonstopBook
Rome to MilanFCO–LIN · all flights from RomeITA Airways1h 5m$68 nonstopBook
Rovaniemi to MilanRVN–BGYRyanair3h 38m$29 nonstopBook
Salerno to MilanQSR–BGYRyanair, Malta Air1h 23m$18 nonstopBook
Santander to MilanSDR–MXPWizz Air, Wizz Air Malta1h 47m$20 nonstopBook
Santiago De Compostela to MilanSCQ–MXPVueling, FLYYO2h 15m$58 nonstopBook
Sarajevo to MilanSJJ–BGYRyanair, Malta Air1h 23m$60 nonstopBook
Sevilla to MilanSVQ–MXPWizz Air, Vueling, Wizz Air Malta2h 24m$20 nonstopBook
Sharjah to MilanSHJ–BGYAir Arabia6h 18m$261 nonstopBook
Sharm el Sheikh to MilanSSH–MXPWizz Air, easyJet, Wizz Air Malta4h 14m$28 nonstopBook
Skiathos to MilanJSI–BGYRyanair2h 11m—Book
Skopje to MilanSKP–MXPWizz Air1h 53m$80, 1 stopBook
Sofia to MilanSOF–BGYRyanair, Wizz Air, Malta Air1h 56m$16 nonstopBook
Stockholm to MilanARN–BGYRyanair, Malta Air2h 34m$19 nonstopBook
Suceava to MilanSCV–MXPWizz Air, Wizz Air Malta2h 12m$25 nonstopBook
Swidnik to MilanLUZ–BGYRyanair, Malta Air1h 55m$18 nonstopBook
Tangier to MilanTNG–BGYRyanair2h 39m$18 nonstopBook
Tel Aviv Yafo to MilanTLV–MXPWizz Air, Wizz Air Malta3h 53m$59 nonstopBook
Tenerife to MilanTFS–BGYRyanair, Malta Air4h 17m$26 nonstopBook
Thessaloniki to MilanSKG–BGYRyanair, Malta Air2h 1m$39 nonstopBook
Thira to MilanJTR–BGYRyanair2h 35m$162, 1 stopBook
Tirana to MilanTIA–BGYRyanair, Wizz Air, Wizz Air Malta1h 40m$18 nonstopBook
Toulouse to MilanTLS–BGYRyanair, Malta Air1h 22m$20 nonstopBook
Trapani to MilanTPS–BGYRyanair1h 37m$20 nonstopBook
Tromso to MilanTOS–MXPWizz Air, easyJet3h 55m$97 nonstopBook
Valencia to MilanVLC–BGYRyanair, Malta Air1h 51m$17 nonstopBook
Vienna to MilanVIE–BGY · all flights from ViennaRyanair, Malta Air1h 14m$19 nonstopBook
Vilnius to MilanVNO–BGYRyanair, Malta Air2h 21m$24 nonstopBook
Vitoria-Gasteiz to MilanVIT–BGYRyanair1h 48m$18 nonstopBook
Warsaw to MilanWMI–BGYRyanair, Malta Air1h 52m$18 nonstopBook
Wroclaw to MilanWRO–BGYRyanair, Malta Air1h 30m$17 nonstopBook
Yerevan to MilanEVN–MXPWizz Air, Wizz Air Malta4h 11m$49 nonstopBook
Zadar to MilanZAD–BGYRyanair1h 6m$68, 1 stopBook
Zagreb to MilanZAG–BGYRyanair1h 7m$17 nonstopBook
Zakinthos to MilanZTH–BGYRyanair2h 6m$133, 1 stopBook
Zaragoza to MilanZAZ–BGYRyanair, Malta Air1h 43m$17 nonstopBook

One-way fares in USD from Travelpayouts flight data, with the date we saw them. Fares change daily; check the price for your dates before you book.

Hotels in Milan

Find hotels in Milan

Hotels, hostels & more · Trip.com

Search hotels

FAQ

What is the cheapest nonstop flight to Milan?+

Of the routes we track, the lowest nonstop fare we have seen is $13 one-way from Bilbao (BIO–MXP), seen 22 Oct 2026. Fares change daily.

How long is the flight to Milan?+

It depends on where you start: about 1h 3m from Marseille (434 km), the shortest route we track. Each route below lists its own flight time.

Which airport do flights to Milan use?+

Routes we track arrive at Milan Malpensa International Airport (MXP) and Il Caravaggio International Airport (BGY) and Milano Linate Airport (LIN).

Can I fly nonstop to Milan?+

Yes, on 116 of the 140 routes we track; each route below shows the airlines that fly it.

Flights to other cities

Milan Malpensa International Airport (MXP) · Il Caravaggio International Airport (BGY) · Milano Linate Airport (LIN)