From
To
Wed 2/3
Wed 2/10
Any month
Compare vs Cheapflights |
From
To
Leaving on
Wed 2/3
Time
Anytime
From
To
Leaving on
Depart
Time
Anytime
From
To
Leaving on
Depart
Time
Anytime
From
To
Leaving on
Depart
Time
Anytime
From
To
Leaving on
Depart
Time
Anytime
From
To
Leaving on
Depart
Time
Anytime

We work with more than 300 partners to bring you better travel deals

Return
Economy
Wed 2/3
Wed 2/10
From
#smartAirportField( "origin${leg}", $options['origin'], $options['originCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "origin$leg", "origincode$leg" ) #nearbyAirportField("nearbyOriginCheck$leg", $nearbyO, false "$!options['origin']")
To
#smartAirportField( "destination${leg}", $options['destination'], $options['destinationCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "destination${leg}", "destinationcode${leg}" ) #nearbyAirportField("nearbyDestinationCheck${leg}", $nearbyD, false, "$!options['destination']")
Leaving on
Wed 2/3
Time
Anytime
From
#smartAirportField( "origin${leg}", $options['origin'], $options['originCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "origin$leg", "origincode$leg" ) #nearbyAirportField("nearbyOriginCheck$leg", $nearbyO, false "$!options['origin']")
To
#smartAirportField( "destination${leg}", $options['destination'], $options['destinationCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "destination${leg}", "destinationcode${leg}" ) #nearbyAirportField("nearbyDestinationCheck${leg}", $nearbyD, false, "$!options['destination']")
Leaving on
Depart
Time
Anytime
#removeLegButton($self.id("removeLeg$leg"))
From
#smartAirportField( "origin${leg}", $options['origin'], $options['originCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "origin$leg", "origincode$leg" ) #nearbyAirportField("nearbyOriginCheck$leg", $nearbyO, false "$!options['origin']")
To
#smartAirportField( "destination${leg}", $options['destination'], $options['destinationCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "destination${leg}", "destinationcode${leg}" ) #nearbyAirportField("nearbyDestinationCheck${leg}", $nearbyD, false, "$!options['destination']")
Leaving on
Depart
Time
Anytime
#removeLegButton($self.id("removeLeg$leg"))
From
#smartAirportField( "origin${leg}", $options['origin'], $options['originCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "origin$leg", "origincode$leg" ) #nearbyAirportField("nearbyOriginCheck$leg", $nearbyO, false "$!options['origin']")
To
#smartAirportField( "destination${leg}", $options['destination'], $options['destinationCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "destination${leg}", "destinationcode${leg}" ) #nearbyAirportField("nearbyDestinationCheck${leg}", $nearbyD, false, "$!options['destination']")
Leaving on
Depart
Time
Anytime
#removeLegButton($self.id("removeLeg$leg"))
From
#smartAirportField( "origin${leg}", $options['origin'], $options['originCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "origin$leg", "origincode$leg" ) #nearbyAirportField("nearbyOriginCheck$leg", $nearbyO, false "$!options['origin']")
To
#smartAirportField( "destination${leg}", $options['destination'], $options['destinationCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "destination${leg}", "destinationcode${leg}" ) #nearbyAirportField("nearbyDestinationCheck${leg}", $nearbyD, false, "$!options['destination']")
Leaving on
Depart
Time
Anytime
#removeLegButton($self.id("removeLeg$leg"))
From
#smartAirportField( "origin${leg}", $options['origin'], $options['originCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "origin$leg", "origincode$leg" ) #nearbyAirportField("nearbyOriginCheck$leg", $nearbyO, false "$!options['origin']")
To
#smartAirportField( "destination${leg}", $options['destination'], $options['destinationCode'], "#string('FROM_TO_INPUT_PLACEHOLDER_FFD')", "destination${leg}", "destinationcode${leg}" ) #nearbyAirportField("nearbyDestinationCheck${leg}", $nearbyD, false, "$!options['destination']")
Leaving on
Depart
Time
Anytime
#removeLegButton($self.id("removeLeg$leg"))
#infantInLapWarning('multiRightOfTravelers')
Home Europe Italy Cheap flights to Milan, Italy

Cheap Flights to Milan

Popular inJulyHigh demand for flights, 8% potential price rise
Cheapest inMayBest time to find cheap flights, 2% potential price drop
Average priceR10 338Average for round-trip flights in January 2021
Round-trip fromR6 573From Johannesburg to Milan

Cheapest prices for Milan flights by month

January
R7 746
February
R7 610
March
R7 750
April
R8 449
May
R7 872
June
R8 366
July
R9 407
August
R8 631
September
R8 415
October
R8 134
November
R8 034
December
R8 938
February is currently the cheapest month to fly to Milan. At this moment in time July is the most expensive month. These prices are determined by multiple factors and booking in advance can help keep costs down if your schedule is not as flexible.

When is the best time to fly to Milan?

JNB - MIL
Price
R7 610 - R13 411
MIL
Temperature
7 - 31 °C
MIL
Rainfall
22 - 101 mm
February is typically the best time to fly to Milan, but there are other times where great deals are available. If you are looking for warm weather when you arrive off of your flight to Milan then July is statistically the hottest. July is historically the period with most rainfall.

When is the best time to book a flight to Milan?

The price you pay for your flight to Milan may vary depending on when you book. For the best chance of a lower fare, look to book 43 days in advance of your trip. Fares are likely to increase a fortnight or so before your departure date.

Which day is cheapest to fly to Milan?

The cheapest day to fly to Milan is usually Monday. At the moment, Saturday is the most expensive.

What time of day is cheapest to fly to Milan?

Milan flights can be made cheaper if you choose a flight at midday. Booking a flight in the evening will likely mean higher prices.

Find the best prices for you!

Cheapest flights to Italy

Home Europe Italy Cheap flights to Milan, Italy
  • Return
  • One-way
  • Economy
  • Premium Economy
  • Business
  • First