Prices are in Australian Dollars.

From
To
Tue. 14/7
Tue. 21/7
Any month
Compare vs Cheapflights |
From
To
Leaving on
Tue. 14/7
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
Tue. 14/7
Tue. 21/7
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
Tue. 14/7
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 Portugal Cheap flights to Vilamoura, Portugal

Cheap Flights to Vilamoura

Popular in July High demand for flights, 7% potential price rise
Cheapest in October Best time to find cheap flights, 5% potential price drop
Average price $2,655 Average for round-trip flights in July 2020
Round-trip from $0 From Melbourne to Faro
Flight route prices based on searches on Cheapflights within the last 3 days, monthly prices based on aggregated historical data.

When is the best time to fly to Vilamoura?

Choose a month below to see average flight price and weather conditions.
MEL - FAO
Price
$1,344 - $2,554
FAO
Temperature
16 - 29 °C
FAO
Rainfall
1 - 117 mm
Whilst there are several times of the year to choose from, February is seen as the time to fly to Vilamoura, however, it is possible to get good deals throughout the year. If weather is an important factor for you when considering when to fly to Vilamoura, the warmest period tends to be July, with the wettest being December.

Which day is cheapest to fly to Vilamoura?

The cheapest day to fly to Vilamoura is usually Wednesday. At the moment, Saturday is the most expensive.

What time of day is cheapest to fly to Vilamoura?

At the moment, flights in the afternoon are likely to offer the best value for money for your Vilamoura trip. A flight in the evening will more often than not be of higher cost.

Find the best prices for you!

Cheap tickets to Vilamoura found by our users in Australia

Cheapest flights to Portugal

Home Europe Portugal Cheap flights to Vilamoura, Portugal
  • Return
  • One-way
  • Economy
  • Premium Economy
  • Business
  • First