12€ Find Cheap Flights to Milan – Compare and Save

1 adult
1 adult, Economy, 0 bags

Save 30% or more on flights. Compare deals from all over the web.

Never overpay with our price tracking tools.

Filter searches by price, airline and more to find your best flights.

Everything you should know

Cheapest return flight
24 €
Typical prices: 106 €-218 €
Ryanair
Fri 2.11.Fri 14.12.
CGN - BGY • Direct
Cheapest one-way flight
12 €
Typical prices: 74 €-165 €
Ryanair
Sat 3.11.
BER - BGY • Direct
Direct flights
You can fly direct with easyJet, Lufthansa, and others. Average duration is 1h 20m.
FAQs
FAQs
Top airlines
Most flights • 54 per week
Best reviews • 6,9 score
Airline reviews
+1
Airline reviews
+1
Top routes
Cheapest • 70% average savings
Most popular
Insights
Insights
When to book
in advance
Our data shows that travellers who book at least 12 weeks in advance save around 37% compared to booking last minute.
Insights
Insights
When to travel
Cheapest • 20% price drop
Most popular
Good to know
+1
Good to know
+1
Start a new search
KAYAK searches hundreds of sites at once to find you the best travel deals.
We hope you enjoy your trip to Milan!
Flight Deals
Booking Insights
Flight Deals

Cheap Flights to Milan

 
Discover the best prices for you by selecting your travel dates on KAYAK.

Recent return flight deals to Milan

Mon, 2. Nov - Mon, 14. Dec
Ryanair Logo
23:40 - 1:05CGN  Cologne Köln/Bonn-BGY Bergamo Orio Al Serio
1h 25mdirect
Ryanair Logo
7:50 - 9:20BGY  Bergamo Orio Al Serio-CGN Cologne Köln/Bonn
1h 30mdirect
24 €Ryanair
Mon, 7. Dec - Mon, 14. Dec
Ryanair Logo
6:00 - 7:25CGN  Cologne Köln/Bonn-BGY Bergamo Orio Al Serio
1h 25mdirect
Ryanair Logo
7:50 - 9:20BGY  Bergamo Orio Al Serio-CGN Cologne Köln/Bonn
1h 30mdirect
28 €Ryanair
Sun, 15. Nov - Wed, 18. Nov
easyJet Logo
8:55 - 10:20DUS  Duesseldorf Intl-MXP Milan Malpensa
1h 25mdirect
easyJet Logo
18:35 - 20:15MXP  Milan Malpensa-DUS Duesseldorf Intl
1h 40mdirect
54 €easyJet
Thu, 26. Nov - Sun, 29. Nov
easyJet Logo
9:10 - 10:35DUS  Duesseldorf Intl-MXP Milan Malpensa
1h 25mdirect
easyJet Logo
6:40 - 8:20MXP  Milan Malpensa-DUS Duesseldorf Intl
1h 40mdirect
54 €easyJet
Sun, 6. Dec - Sat, 12. Dec
Multiple Airlines Logo
8:15 - 10:00BER  Berlin Brandenburg-MXP Milan Malpensa
1h 45mdirect
Multiple Airlines Logo
16:00 - 21:35MXP  Milan Malpensa-BER Berlin Brandenburg
5h 35m1 stop Budapest Ferenc Liszt Intl
61 €Multiple Airlines
Tue, 22. Dec - Thu, 24. Dec
Multiple Airlines Logo
18:55 - 20:40BER  Berlin Brandenburg-MXP Milan Malpensa
1h 45mdirect
Multiple Airlines Logo
21:30 - 23:20MXP  Milan Malpensa-BER Berlin Brandenburg
1h 50mdirect
61 €Multiple Airlines
Sun, 6. Dec - Wed, 9. Dec
easyJet Logo
10:20 - 12:00BER  Berlin Brandenburg-LIN Milan Linate
1h 40mdirect
easyJet Logo
8:00 - 9:45LIN  Milan Linate-BER Berlin Brandenburg
1h 45mdirect
63 €easyJet
Mon, 4. Jan - Wed, 6. Jan
easyJet Logo
9:05 - 10:50HAM  Hamburg-MXP Milan Malpensa
1h 45mdirect
easyJet Logo
6:20 - 8:10MXP  Milan Malpensa-HAM Hamburg
1h 50mdirect
63 €easyJet
Fri, 12. Feb - Sun, 14. Feb
Lufthansa Logo
7:20 - 8:35FRA  Frankfurt am Main-MXP Milan Malpensa
1h 15mdirect
Lufthansa Logo
11:20 - 12:40MXP  Milan Malpensa-FRA Frankfurt am Main
1h 20mdirect
89 €Lufthansa
Fri, 5. Feb - Mon, 8. Feb
Lufthansa Logo
7:20 - 8:35FRA  Frankfurt am Main-MXP Milan Malpensa
1h 15mdirect
Lufthansa Logo
9:15 - 10:35MXP  Milan Malpensa-FRA Frankfurt am Main
1h 20mdirect
92 €Lufthansa
Booking Insights

Price, demand, and travel trends for flights to Milan

Use KAYAK data on prices, travel dates, airlines, and seasonal trends to compare options and book flights with more confidence.

What is the cheapest flight to Milan?

Cologne to Milan is the cheapest route at 24 € return, found in the past 5 days on KAYAK. Frankfurt am Main Airport to Milan is the most popular connection with return deals from 89 €.

How much is a flight to Milan?

On average, a return flight from Germany to Milan costs 151 €, based on KAYAK data over the past 12 months. Return fares from Dortmund average 62 €, while Memmingen runs a bit higher at 105 €.

What is the cheapest day to fly to Milan?

Tuesday is the cheapest day to fly to Milan at 150 € return on average over the past 12 months on KAYAK. Friday is the most expensive at 163 €.

What is the cheapest month to fly to Milan?

•January is the cheapest month to fly to Milan with an average price of 121 € return.
•May (171 €) and April (171 €) are the most expensive.
•Based on KAYAK data over the past 12 months.

What is the cheapest time of day to fly to Milan?

Night flights to Milan are the cheapest at 126 € return on average. Afternoon flights are the most expensive at 174 €.

What is a good deal for flights to Milan?

Flights under 106 € are considered a good deal. 25% of KAYAK users found return flights to Milan at or below these prices, with the lowest fares from:
•Dortmund 46 €
•Karlsruhe 85 €
•Frankfurt am Main Airport 95 €.

When are flights to Milan the cheapest?

Flights to Milan are cheapest 12 weeks before departure. Booking in this window typically costs about 37% less than the average last-minute fare (within 2 weeks of the flight), based on KAYAK data.

Key details for flights to Milan

Low season

January

Cheapest flight

12 €
Beat the crowds with an average 30% drop in traveller numbers.
The most popular month to fly with an average 31% increase in traveller numbers.
One-way flight from Berlin to Bergamo

When to book flights to Milan

Are your dates flexible? Find out the best times to travel to Milan based on our flight data from the last year. Discover the cheapest month and even day to fly.
Estimated return price

Flights to Milan: the best tips from KAYAK users' own experiences

Insights shared by verified travellers who flew to Milan 
Verified travelerFlew with Lufthansa-Sept 2026
Make sure you have ample time for passport control of a few hours.
AlbaFlew with Lufthansa-Mar 2024
Fly in to Linate, not Malpensa, <alpensa is far , disorganized and inconvenient

Your questions about flights to Milan, answered

Find helpful route details based on KAYAK data, including flight times, airports, airlines, and booking questions.

  • How do I know if a flight to Milan is a good deal?

    A good deal on a flight to Milan is around 106 € return. This fare is in the lowest 25% of return flight prices searched on KAYAK, averaged across the cities most often searched as origins by KAYAK users.

  • Which airports serve Milan?

    Flights to Milan arrive at: Milan Linate (LIN) and Milan Malpensa (MXP).

  • How long are direct flights to Milan from different departure cities?

    Direct flight time to Milan varies depending on your departure city:

    • From Munich: 1h 05m
    • From Nuremberg: 1h 15m
    • From Cologne: 1h 20m
    • From Dortmund: 1h 30m
    • From Hannover: 1h 40m

  • Which city has the cheapest flights to Milan?

    Based on fares booked in the past 5 days, the cheapest flights to Milan are from Düsseldorf, starting at 54 € return, and from Frankfurt am Main, starting at 89 € return.

  • How expensive are last-minute flights to Milan?

    Last-minute fares to Milan (booked within two weeks of departure) are typically 28% higher than the average return fare of 151 €.

  • What is the difference between the most popular and the most frequent airline at Milan?

    easyJet operates the most flights from Germany to Milan at 54 per week, and for this route easyJet is also the airline most often selected by KAYAK users searching for flights from Germany to Milan. The two are sometimes different because flight volume reflects an airline's schedule, while popularity reflects traveller choice.

  • Which airlines should I consider for flights to Milan?

  • How many flights serve Milan?

    Milan receives 33 flights per day and 231 per week from across the world. Frankfurt am Main Airport has the most flights to Milan with 102 weekly flights.

  • Which airports serve Milan and the surrounding area?

    Flights to Milan can arrive at several major airports serving the metro area, including Milan Linate (LIN) and Milan Malpensa (MXP). Nearby alternatives within 80,5 km of Milan include Milan Linate (LIN), Bergamo Orio Al Serio (BGY) and Lugano (LUG). These airports are not in Milan itself but may be useful depending on your route, airline, and onward travel plans.

Your guide to booking Milan flights

From booking to airport arrival, find tips to help you plan your flight with more confidence.
  • For the best chance at a low fare to Milan, book around 12 weeks before departure. Based on KAYAK data from the last 12 months, fares are historically about 37% lower during this window than last-minute fares.
  • For flights to Milan, a good return fare is around 106 €. If you find a fare below that, you're getting a strong deal.
  • If your travel dates are flexible, consider flying to Milan in January. Return fares historically average 121 €, making January the cheapest month to travel based on KAYAK data from the last 12 months.
  • Before you book:

    • Check the route's typical price range so you can spot a deal.
    • Confirm baggage fees and seat selection costs on budget carriers.
    • Verify whether you need any travel documents beyond an ID.
    • Pick a departure airport, since your nearest may not be the cheapest origin.
  • Shift your departure to evening to save up to 48 € on a return flight. Evening flights to Milan average 126 € compared to 174 € for midday flights.
  • Bag allowances vary by airline, fare type, cabin class, and route. On flights to Milan, some airlines may include bags at no extra cost. For example, easyJet includes a cabin bag and a checked bag in Economy class, Eurowings includes a cabin bag and a checked bag in Economy class, and Lufthansa includes a cabin bag and a checked bag in Economy class. Always check the fare details before booking, since bag policies can change by ticket type.
  • Once you arrive in Milan, a few great places to start are Duomo di Milano, Teatro alla Scala, and Piazza del Duomo. These are popular with first-time visitors and can give you a good feel for the area.

Reviews of the top 5 airlines flying to Milan

 
Need help choosing which airline to fly with to Milan? KAYAK airline reviews give an overall score for each airline based on loads of factors, including comfort, boarding, in-flight entertainment and more, to make your decision easier. See airline scores according to verified KAYAK customer reviews.
6,9
RyanairOverall score based on 5449 reviews
7,5Crew
6,0Food
6,5Comfort
6,7Boarding
5,7Entertainment
Airline reviews

Boarding for priority was not good. They led us into the gangway where we had to wait a long time for the airplane to be ready for us.

8,0 ExcellentMehdi, Oct 2026
Read more Ryanair reviews

Boarding for priority was not good. They led us into the gangway where we had to wait a long time for the airplane to be ready for us.

The plane had only a few passengers, we got lucky. The crew was visibly inexperienced

They lost a bag and now our vacation is ruined

Flight details on public information screen were misleading and wrong.

How terrible! Extremely bad! I can not even wait for 5 minutes, because the Berlin airport does not work in the security facilities and can handle people. No communication, although we were assured by about 50 travelers that the airline is informed and is waiting for us.

When having difficulty with the online check in process, I was forced to pay a huge fee for the check in desk to assist me with getting a boarding pass. Ridiculous!

Flight was delayed which happens but walking 15 mins to one gate to be then told it’s now changed to one 15 mins back then other way was frustrating

50 minute of delay on a flight scheduled after 22pm is really annoying. This was even the only flight departing from Frankfurt Hahn on that evening so the delay was inexcusable

The usual average Ryanair flight, but we landed 20 min before due time, which was very good.

Flight was delayed due to weather so not much Ryanair could do about that - otherwise it was very efficient and smooth

Lovely cabin crew. Prompt takeoff and early arrival in Pisa

Flight was two hours delayed then instead of flying to Gatwick we got diverted to Southend airport! Then they cancelled our flight and we all got told we had to get off the plane and make our own way to wherever we had to go? EasyJet just abandoned us, no help and as a tourist not knowing even where I was? Disgusting behaviour from the company!!

The flight was delayed by over an hour which seriously disrupted my plans in Milan.

They lost my luggage. They don’t even know what happened to it at this point. They think it’s still in the departure city.

It was good; the only down side is that once you get to the airport everything is self service, there is no one assisting. I felt like I was working while I was on vacation during the check in process and dropping off the luggage. Really uncertain on what the airlines use payroll nowadays.

We were bumped despite seats existing on flight While checkin attendants were helpful Easyjet management was not. Only after threats were we allowed on plane at last minute. The online help desk was useless and waste of time (over an hour of useless chats)

We boarded and then sat on the tarmac for an hour….probably not E Jets fault. But the gentleman that checked us in and took our luggage was exceptionally friendly and calming for early morning/ confused passengers. As always, it’s the people that make or break an experience, right?

They cancelled my flight and we had to fend for ourselves to reschedule another flight. There was no staff to help all the canceled guest. Poor communication and staff. I attempted to reschedule via Kayak and I asked their staff that it looked as it was available. The guy behind the counter just told us to go online..

Nothing! The service was excellent for accessibly challenged passengers, Used lift and all support personnel very helpful. Will fly again.

Bohužel zpoždění let o více než 6 hod, způsobil, že jsme nestihli další let.

Premium economy was very comfortable with excellent service and legroom. On Kayak I was able to find a very affordable discounted fare

Overall seamless flight from SFO to FCO. I chose economy to have more money to spend while in Italy. The seats bottoms are a bit on the thin side but they give you a pillow and blanket so Inl used the blanket to thicken up the seat bottom. You have to have a physical boarding pass (at least for my flight) so that was interesting. Crew was nice, food was good and over pretty down the middle.

Really attentive crew in Business class. Best flight Ive had in years!

Staff was professional without a smile. Seat was broken, but staff basically had no solution to offer

Yor internet is terrible and we paid for 2. One did not work entire flight to NEw York

1 1/2 hours delayed boarding at JFK caused us to almost miss connecting flight in Rome. Only 30 minutes of time to run from one end of FCO to the other for connecting flight. Not very easy to do for older travelers.

Comfortable seats with sufficient leg room. However, the female flight attendant spoke English and Italian so fast that it was impossible to understand anything she said. There was no entertainment option. No wifi. No milk for tea (only powered milk which is terrible). I appreciate being able to take a carry on. Crew was nice. Plane was clean.

I liked nothing. Communication to passengers was poor to non-existent. No sense of urgency in providing information from gate changes, baggage drops, and cancelled flights (which happened with no assistance available). This airline is a joke.

The landing was catastrophic. I was very scared. I thought it were my last lminues. Pilotes should be more experienced

We made the boarding and then waited inside 40minutes before taking off The plane was too full It was probably the worst flight of my life in terms of comfort. I was in the central seat, and on my right i had a very big person who was occupying part of my seat since he did not fit in just one. I think in these cases the staff should notice and do something about it. I checked if there were available seats by myself, but it was all full. Maybe in business class there were still available seats though.

When I fl with Bulgarian air, I am greeted with a bottle of water and a packaged cleaning wipe. There is a hot sandwich and a drink offered afterwards. Towards the end of the flight, there is a piece of chocolate and per request an additional water bottle. For the price that Lufthansa charges per ticket, it is embarassing that other airlines can offer better customer service quality on board. Also, some of the Lufthansa flight attendants act very entitled instead of being customer focused. Regularly the mobile lift for diabled passengers is missing... Every time when I fly with my 89 year old mother, she is being questioned multiple times whether it is okay to use the stairs ( she walks with two canes). Most of the times when we arrive in Frankfurt, the mobile lift is missing and she is urged to use the staircase. When I refuse to allow this, the flightattendants look at me scornfully. This is not WW2 where disabled people should be treated as second hand people... Then we all have to wait another 30 to 40 minutes on the airplane, while waiting for the mobile lift to arrrive. Does Lufthansa have enough money to waste on an airplane waiting for (on the average) 30 min for the mobile lift to come? I fly frequently and have experience mostly with Delta, United, Southwest and other American Airlines. Lufthansa needs to pick up their game on board, if they want to stay competitive and in the game...

Keep an eye on your seat assignments - ESPECIALLY if you paid for upgraded seats - the airline moved us out of our prepaid seats THREE TIMES and I could only resolve it by calling customer service - who was very helpful. Expect to carry your bags down several flights of stairs for boarding on the tarmac.

It was ok no problem on flight after the ordeal with passport control. Long line and nasty officers not very helpful.

I was disappointed that paying nearly $5000 more for business class for two didn’t really get me any more than a larger seat which as the last row in cabin reclined only mildly and the foot supports were of minimal help and left no room under seat ahead for carton bag. Second, our checked luggage was lost and took us two long days and we’ll after midnight each of them and multiple calls and 30 euro trip to airport in person to finally get them. Would you do this again?

Never made it to Lufthansa because of Air Canadas negligence.

Boarding and flight update was fantastic as I experienced about a 10-15 delayed for both flights. The food served onboard was great; the service of the flight attendants was excellent.

Complete mess. Our reservation was mistakenly cancelled. After almost missing the connection and walking all over the Munich airport, the Service desk got involved and we were run to our flight. Not all 4 of us in Business and not seated together as originally booked. This was the worst treatment I have ever had. And I travel a lot. 1K million miler.

Seats on the A320 were more comfortable than the A330 I took from RSW to Frankfurt

A short flight. What was offered was appropriate Friendly staff. Pleasant

The flight was delayed. Don't recall much else, as the flight was short and I slept through most of it.

More legroom for me as a tall person. I shouldn’t have to be discriminated because of my height just like someone’s wheelchair does have to pay extra to be accommodated comfortably.

Good, efficient flights both ways. Didn’t have food and no entertainment so can’t comment on those. Friendly staff that let me move to a row with no one booked.

My flight was delayed and my second flight missed despite a three hour connection in Düsseldorf. My luggage was lost and it took three hours to recover which was actually unfortunately very much barely possible. I needed to rebook a flight that was three times the original cost of the original flight which now I need to go back and recover from the airline. Terrible experience,

Nice to have reclining seats for a change and great to have internet access

Tivat airport really needs to up its game W Eurowings needs to provide support at luggage collection

Kayak - EDreams - Eurowings need to define clearer the hand luggage terms. I asked for add. hang luggage got charged by Eurowings for having add. hand luggage that was not included in my booking. I travel alot! I know the size dimensions never paid twice for hand luggage and cannot chase Edreams or put Eurowings in the wrong. Also there was severe delays on this flight. Issue getting bus on arrival and missed connections. Unfortunate will not use Eurowings

We checked in 4 luggage and only got 3 back & lost our 4th luggage. Our flight was from berlin sept 22. We arrived Copenhagen but only received 3 luggage. Missing 1 still 24 hrs after our arrival and our Cruise will be leaving tomorrow 9/24/2023. This is the second time that our luggage gets lost/delayed in Copenhagen

No food on plane.. flights scheduled 55 min..everything is very expensive on aeroport

Smallest seat I have ever seen. And they had a label with more Legroom but in fact where really tiny.

I was held-up at boarding by rude employee who insisted that I had to wait until all other passengers had boarded the lane before issuing me a boarding pass so I can board the plane. I could not check-in earlier and get a boarding pass since I had flown directly from Dusseldorf.

Travelling to a place near Milan?

Book flights to Milan if you plan to visit one of these locations
Stresa
Livigno
Iseo
Levanto
Bellagio
Brescia
Baveno
Menaggio
Saronno
Varenna
Lecco
Monza
Bormio
Porlezza
Assago
Cernobbio
Asti
Domodossola
Bellano
Lainate

More options for your flight to Milan