Prices are in Australian Dollars.

From
To
Fri. 17/7
Fri. 24/7
Any month
Compare vs Cheapflights |
From
To
Leaving on
Fri. 17/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
Fri. 17/7
Fri. 24/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
Fri. 17/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 Oporto, Portugal

Cheap Flights to Oporto

Popular in December High demand for flights, 6% potential price rise
Cheapest in October Best time to find cheap flights, 3% potential price drop
Average price $1,927 Average for round-trip flights in July 2020
Round-trip from $1.566 From Melbourne to Porto
Flight route prices based on searches on Cheapflights within the last 3 days, monthly prices based on aggregated historical data.

Cheapest prices for Oporto flights by month

January
$1,911
February
$1,263
March
$1,264
April
$1,428
May
$1,514
June
$1,426
July
$1,515
August
$1,513
September
$1,557
October
$1,393
November
$1,369
December
$1,499
February is currently the cheapest month to fly to Oporto. At this moment in time January 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 Oporto?

Choose a month below to see average flight price and weather conditions.
MEL - OPO
Price
$1,263 - $2,799
OPO
Temperature
14 - 25 °C
OPO
Rainfall
17 - 160 mm
Flying to Oporto in February is usually considered the best time to fly. However, you will find other deals are always available year round. July tends to be the warmest period in Oporto so if you are looking for sun or warmer climates then look to fly around this time. November is the wettest if you need to factor this in to your plans.

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

The best time to book flights to Oporto is 60 days before your desired departure date. The cost of your flight will likely increase significantly if you book two weeks in advance of your flight.

Which day is cheapest to fly to Oporto?

Wednesday is currently, on average, the cheapest day to fly to Oporto. Flying on Saturday will result in higher flight prices.

What time of day is cheapest to fly to Oporto?

To get the best value, try booking a flight in the afternoon when visiting Oporto. Generally the prices will increase for flights in the evening as these tend to have higher demand.

Find the best prices for you!

Cheap tickets to Oporto found by our users in Australia

Cheapest flights to Portugal

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