
Routes to Milan
| From | Airlines | Flight time | Fare seen | Book |
|---|---|---|---|---|
| Agadir to MilanAGA–BGY | Ryanair, Malta Air | 3h 28m | $55 nonstop | Book |
| Alghero to MilanAHO–BGY | Ryanair, Malta Air | 1h 13m | $22 nonstop | Book |
| Alicante to MilanALC–MXP | Ryanair, Wizz Air, Wizz Air Malta | 1h 54m | $18 nonstop | Book |
| Amman to MilanAMM–BGY | Ryanair | 3h 55m | $153, 1 stop | Book |
| Arrecife to MilanACE–BGY | Ryanair, Malta Air | 3h 57m | $44 nonstop | Book |
| Asturias to MilanOVD–BGY | Volotea | 2h 5m | $26 nonstop | Book |
| Athens to MilanATH–BGY · all flights from Athens | Ryanair | 2h 19m | $21 nonstop | Book |
| Barcelona to MilanBCN–MXP · all flights from Barcelona | Wizz Air, Vueling, Ryanair | 1h 24m | $15 nonstop | Book |
| Bari to MilanBRI–BGY | Ryanair, Malta Air | 1h 27m | $17 nonstop | Book |
| Belfast to MilanBFS–BGY | Ryanair | 2h 23m | — | Book |
| Berlin to MilanBER–BGY · all flights from Berlin | Ryanair, Malta Air | 1h 30m | $19 nonstop | Book |
| Biarritz to MilanBIQ–BGY | Ryanair | 1h 39m | $32 nonstop | Book |
| Bilbao to MilanBIO–MXP | Wizz Air, Vueling, easyJet | 1h 42m | $13 nonstop | Book |
| Birmingham to MilanBHX–BGY · all flights from Birmingham | Ryanair | 1h 54m | $22 nonstop | Book |
| Brasov to MilanGHV–MXP | Wizz Air, Wizz Air Malta | 2h 8m | $26 nonstop | Book |
| Brindisi to MilanBDS–BGY | Ryanair, Malta Air | 1h 35m | $24 nonstop | Book |
| Bristol to MilanBRS–BGY · all flights from Bristol | Ryanair, Malta Air | 1h 53m | $21 nonstop | Book |
| Brno to MilanBRQ–BGY | Ryanair, Malta Air | 1h 19m | $18 nonstop | Book |
| Brussels to MilanCRL–BGY | Ryanair, Malta Air | 1h 20m | $19 nonstop | Book |
| Bucharest to MilanOTP–BGY | Ryanair, Wizz Air, Wizz Air Malta | 2h 7m | $14 nonstop | Book |
| Budapest to MilanBUD–BGY | Ryanair, Malta Air | 1h 27m | $17 nonstop | Book |
| Cagliari to MilanCAG–BGY | Ryanair, Malta Air | 1h 24m | $17 nonstop | Book |
| Cairo to MilanCAI–LIN · all flights from Cairo | — | 3h 43m | $167, 1 stop | Book |
| Casablanca to MilanCMN–LIN · all flights from Casablanca | — | 2h 58m | $98, 1 stop | Book |
| Castellon de la Plana to MilanCDT–BGY | Ryanair | 1h 44m | — | Book |
| Catania to MilanCTA–BGY | Ryanair, Malta Air | 1h 46m | $18 nonstop | Book |
| Chania to MilanCHQ–BGY | Ryanair | 2h 34m | — | Book |
| Chisinau to MilanRMO–MXP | Wizz Air, Wizz Air Malta | 2h 27m | $27 nonstop | Book |
| Cluj-Napoca to MilanCLJ–BGY | Ryanair, Wizz Air Malta, Malta Air | 1h 51m | $16 nonstop | Book |
| Cologne to MilanCGN–BGY | Ryanair, Malta Air | 1h 16m | $15 nonstop | Book |
| Comiso to MilanCIY–MXP | Wizz Air, Wizz Air Malta | 1h 51m | $22 nonstop | Book |
| Copenhagen to MilanCPH–BGY | Ryanair, Malta Air, Norwegian Air Sweden | 1h 54m | $18 nonstop | Book |
| Cork to MilanORK–BGY | Ryanair | 2h 22m | $103, 1 stop | Book |
| Crotone to MilanCRV–BGY | Ryanair, Malta Air | 1h 42m | $17 nonstop | Book |
| Dortmund to MilanDTM–MXP | Wizz Air, Wizz Air Malta | 1h 20m | $30 nonstop | Book |
| Dublin to MilanDUB–BGY · all flights from Dublin | Ryanair, Malta Air | 2h 18m | $21 nonstop | Book |
| Dubrovnik to MilanDBV–BGY | Ryanair, Malta Air | 1h 27m | $18 nonstop | Book |
| Dusseldorf to MilanNRN–BGY | Ryanair, Malta Air | 1h 23m | $32 nonstop | Book |
| Edinburgh to MilanEDI–BGY · all flights from Edinburgh | Ryanair, Malta Air, Ryanair UK | 2h 20m | $28 nonstop | Book |
| Eindhoven to MilanEIN–BGY | Ryanair, Malta Air | 1h 24m | $40 nonstop | Book |
| Faro to MilanFAO–BGY | Ryanair, Malta Air | 2h 42m | $48 nonstop | Book |
| Fez to MilanFEZ–BGY | Ryanair, Malta Air | 2h 45m | $18 nonstop | Book |
| Frankfurt to MilanFRA–LIN · all flights from Frankfurt | easyJet, AirDolomiti | 1h 8m | $51 nonstop | Book |
| Gdansk to MilanGDN–BGY | Ryanair, Malta Air | 1h 56m | $17 nonstop | Book |
| Glasgow to MilanGLA–MXP · all flights from Glasgow | Wizz Air | 2h 20m | $70, 1 stop | Book |
| Granada to MilanGRX–MXP | Vueling | 2h 15m | $52, 1 stop | Book |
| Helsinki to MilanHEL–BGY · all flights from Helsinki | Ryanair, Malta Air, Norwegian Air Sweden | 2h 53m | $36 nonstop | Book |
| Heraklion to MilanHER–BGY | Ryanair | 2h 40m | $202 nonstop | Book |
| Iasi to MilanIAS–BGY | Ryanair, Wizz Air Malta, Malta Air | 2h 14m | $20 nonstop | Book |
| Ibiza to MilanIBZ–BGY | Ryanair, Malta Air | 1h 46m | $32 nonstop | Book |
| Jeddah to MilanJED–MXP · all flights from Jeddah | Wizz Air, Wizz Air Malta | 5h 17m | $179 nonstop | Book |
| Kalamata to MilanKLX–BGY | Ryanair | 2h 15m | $233, 2 stops | Book |
| Katowice to MilanKTW–BGY | Ryanair | 1h 36m | $17 nonstop | Book |
| Kaunas to MilanKUN–BGY | Ryanair, Malta Air | 2h 19m | $18 nonstop | Book |
| Kefallinia to MilanEFL–BGY | Ryanair | 2h 2m | — | Book |
| Kerkyra to MilanCFU–BGY | Ryanair, Malta Air | 1h 50m | $108 nonstop | Book |
| Knock to MilanNOC–BGY | Ryanair | 2h 31m | — | Book |
| Kos to MilanKGS–BGY | Ryanair, Malta Air | 2h 41m | $24 nonstop | Book |
| Krakow to MilanKRK–MXP | Ryanair, Wizz Air, Malta Air | 1h 42m | $18 nonstop | Book |
| Kutaisi to MilanKUT–MXP | Wizz Air, Wizz Air Malta | 3h 53m | $33 nonstop | Book |
| La Coruna to MilanLCG–MXP | Vueling, easyJet | 2h 13m | $58 nonstop | Book |
| Lamezia Terme to MilanSUF–BGY | Ryanair, Malta Air | 1h 39m | $18 nonstop | Book |
| Lampedusa to MilanLMP–MXP | Wizz Air | 1h 58m | $96, 1 stop | Book |
| Larnaca to MilanLCA–MXP | Wizz Air, Wizz Air Malta, Cyprus Airways | 3h 31m | $38 nonstop | Book |
| Las Palmas to MilanLPA–BGY | Ryanair, Malta Air | 4h 12m | $30 nonstop | Book |
| Limnos to MilanLXS–BGY | Ryanair | 2h 16m | — | Book |
| Lisbon to MilanLIS–BGY · all flights from Lisbon | Ryanair, Malta Air | 2h 39m | $27 nonstop | Book |
| Liverpool to MilanLPL–BGY | Ryanair | 2h 3m | — | Book |
| Lodz to MilanLCJ–BGY | Ryanair, Malta Air | 1h 43m | $17 nonstop | Book |
| London to MilanLHR–MXP · all flights from London | — | 1h 40m | $100 nonstop | Book |
| Lourdes to MilanLDE–BGY | Ryanair | 1h 31m | $54 nonstop | Book |
| Luxembourg to MilanLUX–BGY | Ryanair, Malta Air | 1h 8m | $18 nonstop | Book |
| Madrid to MilanMAD–LIN · all flights from Madrid | Iberia | 1h 59m | $62 nonstop | Book |
| Malaga to MilanAGP–MXP | Ryanair, Wizz Air, Vueling | 2h 21m | $18 nonstop | Book |
| Malta to MilanMLA–BGY | Ryanair, Malta Air | 1h 57m | $20 nonstop | Book |
| Manchester to MilanMAN–BGY · all flights from Manchester | Ryanair, Malta Air | 2h 1m | $20 nonstop | Book |
| Marrakech to MilanRAK–BGY | Ryanair, Malta Air | 3h 14m | $23 nonstop | Book |
| Marsa Alam to MilanRMF–MXP | Wizz Air, easyJet, Wizz Air Malta | 4h 30m | $49 nonstop | Book |
| Marseille to MilanMRS–BGY | Ryanair, Malta Air | 1h 3m | $17 nonstop | Book |
| Menorca to MilanMAH–BGY | Ryanair | 1h 29m | — | Book |
| Nantes to MilanNTE–BGY | Volotea | 1h 36m | $55, 1 stop | Book |
| Naples to MilanNAP–BGY | Ryanair, Malta Air | 1h 19m | $22 nonstop | Book |
| New York to MilanJFK–MXP · all flights from New York | — | 8h 31m | $331 nonstop | Book |
| Newcastle to MilanNCL–BGY · all flights from Newcastle | Ryanair | 2h 9m | $40 nonstop | Book |
| Nottingham to MilanEMA–BGY | Ryanair | 1h 55m | $20 nonstop | Book |
| Ohrid to MilanOHD–MXP | Wizz Air | 1h 52m | $164, 2 stops | Book |
| Olbia to MilanOLB–BGY | Ryanair, Volotea, Malta Air | 1h 10m | $19 nonstop | Book |
| Oslo to MilanTRF–BGY · all flights from Oslo | Ryanair, Malta Air | 2h 23m | $17 nonstop | Book |
| Palermo to MilanPMO–BGY | Ryanair, Malta Air, ALPAVIA | 1h 36m | $17 nonstop | Book |
| Palma to MilanPMI–MXP | Ryanair, Wizz Air, Vueling | 1h 33m | $17 nonstop | Book |
| Paphos to MilanPFO–BGY | Ryanair, Malta Air | 3h 21m | $34 nonstop | Book |
| Paris to MilanBVA–BGY · all flights from Paris | Ryanair, Malta Air | 1h 23m | $20 nonstop | Book |
| Pescara to MilanPSR–BGY | Ryanair, Malta Air | 1h 8m | $19 nonstop | Book |
| Podgorica to MilanTGD–MXP | Wizz Air, Wizz Air Malta | 1h 39m | $15 nonstop | Book |
| Porto to MilanOPO–MXP | Ryanair, Wizz Air, easyJet | 2h 21m | $23 nonstop | Book |
| Poznan to MilanPOZ–BGY | Ryanair, Malta Air | 1h 38m | $18 nonstop | Book |
| Prague to MilanPRG–BGY | Ryanair, Malta Air | 1h 15m | $17 nonstop | Book |
| Preveza to MilanPVK–BGY | Ryanair | 1h 58m | — | Book |
| Pristina to MilanPRN–MXP | Wizz Air, Wizz Air Malta | 1h 48m | $35 nonstop | Book |
| Puerto del Rosario to MilanFUE–BGY | Ryanair, Malta Air | 4h 1m | $56 nonstop | Book |
| Rabat to MilanRBA–BGY | Ryanair, Malta Air | 2h 53m | $18 nonstop | Book |
| Reggio Calabria to MilanREG–BGY | Ryanair, Malta Air | 1h 43m | $20 nonstop | Book |
| Reykjavik to MilanKEF–MXP | Wizz Air, Wizz Air Malta, easyJet | 4h 1m | $48 nonstop | Book |
| Rhodes to MilanRHO–BGY | Ryanair, Malta Air | 2h 49m | $148 nonstop | Book |
| Riga to MilanRIX–BGY | Ryanair, Malta Air | 2h 29m | $20 nonstop | Book |
| Rome to MilanFCO–LIN · all flights from Rome | ITA Airways | 1h 5m | $68 nonstop | Book |
| Rovaniemi to MilanRVN–BGY | Ryanair | 3h 38m | $29 nonstop | Book |
| Salerno to MilanQSR–BGY | Ryanair, Malta Air | 1h 23m | $18 nonstop | Book |
| Santander to MilanSDR–MXP | Wizz Air, Wizz Air Malta | 1h 47m | $20 nonstop | Book |
| Santiago De Compostela to MilanSCQ–MXP | Vueling, FLYYO | 2h 15m | $58 nonstop | Book |
| Sarajevo to MilanSJJ–BGY | Ryanair, Malta Air | 1h 23m | $60 nonstop | Book |
| Sevilla to MilanSVQ–MXP | Wizz Air, Vueling, Wizz Air Malta | 2h 24m | $20 nonstop | Book |
| Sharjah to MilanSHJ–BGY | Air Arabia | 6h 18m | $261 nonstop | Book |
| Sharm el Sheikh to MilanSSH–MXP | Wizz Air, easyJet, Wizz Air Malta | 4h 14m | $28 nonstop | Book |
| Skiathos to MilanJSI–BGY | Ryanair | 2h 11m | — | Book |
| Skopje to MilanSKP–MXP | Wizz Air | 1h 53m | $80, 1 stop | Book |
| Sofia to MilanSOF–BGY | Ryanair, Wizz Air, Malta Air | 1h 56m | $16 nonstop | Book |
| Stockholm to MilanARN–BGY | Ryanair, Malta Air | 2h 34m | $19 nonstop | Book |
| Suceava to MilanSCV–MXP | Wizz Air, Wizz Air Malta | 2h 12m | $25 nonstop | Book |
| Swidnik to MilanLUZ–BGY | Ryanair, Malta Air | 1h 55m | $18 nonstop | Book |
| Tangier to MilanTNG–BGY | Ryanair | 2h 39m | $18 nonstop | Book |
| Tel Aviv Yafo to MilanTLV–MXP | Wizz Air, Wizz Air Malta | 3h 53m | $59 nonstop | Book |
| Tenerife to MilanTFS–BGY | Ryanair, Malta Air | 4h 17m | $26 nonstop | Book |
| Thessaloniki to MilanSKG–BGY | Ryanair, Malta Air | 2h 1m | $39 nonstop | Book |
| Thira to MilanJTR–BGY | Ryanair | 2h 35m | $162, 1 stop | Book |
| Tirana to MilanTIA–BGY | Ryanair, Wizz Air, Wizz Air Malta | 1h 40m | $18 nonstop | Book |
| Toulouse to MilanTLS–BGY | Ryanair, Malta Air | 1h 22m | $20 nonstop | Book |
| Trapani to MilanTPS–BGY | Ryanair | 1h 37m | $20 nonstop | Book |
| Tromso to MilanTOS–MXP | Wizz Air, easyJet | 3h 55m | $97 nonstop | Book |
| Valencia to MilanVLC–BGY | Ryanair, Malta Air | 1h 51m | $17 nonstop | Book |
| Vienna to MilanVIE–BGY · all flights from Vienna | Ryanair, Malta Air | 1h 14m | $19 nonstop | Book |
| Vilnius to MilanVNO–BGY | Ryanair, Malta Air | 2h 21m | $24 nonstop | Book |
| Vitoria-Gasteiz to MilanVIT–BGY | Ryanair | 1h 48m | $18 nonstop | Book |
| Warsaw to MilanWMI–BGY | Ryanair, Malta Air | 1h 52m | $18 nonstop | Book |
| Wroclaw to MilanWRO–BGY | Ryanair, Malta Air | 1h 30m | $17 nonstop | Book |
| Yerevan to MilanEVN–MXP | Wizz Air, Wizz Air Malta | 4h 11m | $49 nonstop | Book |
| Zadar to MilanZAD–BGY | Ryanair | 1h 6m | $68, 1 stop | Book |
| Zagreb to MilanZAG–BGY | Ryanair | 1h 7m | $17 nonstop | Book |
| Zakinthos to MilanZTH–BGY | Ryanair | 2h 6m | $133, 1 stop | Book |
| Zaragoza to MilanZAZ–BGY | Ryanair, Malta Air | 1h 43m | $17 nonstop | Book |
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.
When you land in Milan
Flights to other cities
- San Francisco
- New York
- Los Angeles
- Paris
- Las Vegas
- Miami
- Chicago
- Amsterdam
- Rome
- London
- Seattle
- Tokyo
- Boston
- Denver
- Atlanta
- Dubai
- Barcelona
- Dallas
- Madrid
- Toronto
- Lisbon
- Bangkok
- Singapore
- Istanbul
- Athens
- Hong Kong
- Munich
- Sydney
- Vienna
- Seoul
- Manila
- Shanghai
- Zurich
- Osaka
- Cairo
- Cape Town
- Frankfurt
- Beijing
- Melbourne
- Phuket
- Bali
- Perth
- Buenos Aires
- Auckland
- Mumbai
- Abu Dhabi
- Nairobi
- Johannesburg
- Hanoi
- Taipei
- Kuala Lumpur
- Lyon
- Jeddah
- Doha
- Jakarta
- Koh Samui
- Da Nang
- Chiang Mai
- Sao Paulo
- New Delhi
- Ho Chi Minh City
- Riyadh
- Guangzhou
- Addis Ababa
- Adler/Sochi
- Algiers
- Alicante
- Almaty
- Ambon
- Antalya
- Antananarivo
- Baku
- Balikpapan
- Bandar Seri Begawan
- Banjarmasin
- Batam
- Belgrade
- Berlin
- Bilbao
- Bologna
- Brussels
- Bucharest
- Budapest
- Busan
- Calgary
- Cancun
- Casablanca
- Catania
- Cebu City
- Cologne
- Colombo
- Copenhagen
- Dar Es Salaam
- Dhaka
- Dublin
- Dusseldorf
- Fort Lauderdale
- Greenway Sound
- Guadalajara
- Hamburg
- Helsinki
- Honolulu
- Jayapura
- Karachi
- Kendari
- Kochi
- Krakow
- Kupang
- Labuan Bajo
- Lagos
- Macau
- Makassar
- Malaga
- Malang
- Male
- Malta
- Manado
- Mandalay
- Manokwari
- Marrakech
- Marseille
- Maumere
- Medan
- Medina
- Mexico City
- Minneapolis
- Minsk
- Monterrey
- Moscow
- Muscat
- Nantes
- Neom
- Nha Trang
- Orlando
- Oslo
- Padang
- Palembang
- Palma
- Panama City
- Pekanbaru
- Penang
- Phnom Penh
- Phu Quoc
- Port Blair
- Porto
- Praya
- Puerto Princesa
- Puerto Vallarta
- Saint Petersburg
- San Jose
- Santo Domingo
- Sanya
- Semarang
- Sevilla
- Sharjah
- Shymkent
- Sorong
- Stockholm
- Surabaya
- Surakarta
- Tampa
- Tashkent
- Tembagapura
- Tenerife
- Ternate
- Tijuana
- Tirana
- Valencia
- Venice
- Vientiane
- Warsaw
- Yekaterinburg
- Yerevan
- Yogyakarta
Milan Malpensa International Airport (MXP) · Il Caravaggio International Airport (BGY) · Milano Linate Airport (LIN)