From
To
Thu 10/1
Thu 10/8
Any month
Compare vs Cheapflights |
From
To
Leaving on
Thu 10/1
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
Thu 10/1
Thu 10/8
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
Thu 10/1
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 R11 040 Average for round-trip flights in September 2020
Round-trip from R134 593 From Johannesburg 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
R8 673
February
R7 451
March
R7 679
April
R8 687
May
R7 477
June
R8 815
July
R9 692
August
R11 737
September
R9 974
October
R7 262
November
R9 487
December
R9 938
October is currently the cheapest month to fly to Oporto. At this moment in time August 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.
JNB - OPO
Price
R7 262 - R16 049
OPO
Temperature
14 - 25 °C
OPO
Rainfall
17 - 160 mm
Whilst there are several times of the year to choose from, October is seen as the time to fly to Oporto, however, it is possible to get good deals throughout the year. July sees the temperatures in Oporto peak to their warmest. November tends, on average, to see the most amount of rainfall.

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

The price you pay for your flight to Oporto may vary depending on when you book. For the best chance of a lower fare, look to book 60 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 Oporto?

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

What time of day is cheapest to fly to Oporto?

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

Find the best prices for you!

Cheap tickets to Oporto found by our users in South Africa

Cheapest flights to Portugal

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