From
To
Sun 1/31
Sun 2/7
Any month
Compare vs Cheapflights |
From
To
Leaving on
Sun 1/31
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
Sun 1/31
Sun 2/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
Sun 1/31
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 Spain Cheap flights to Madrid, Spain

Cheap Flights to Madrid

Popular inDecemberHigh demand for flights, 5% potential price rise
Cheapest inFebruaryBest time to find cheap flights, 2% potential price drop
Average priceR8 095Average for round-trip flights in January 2021
Round-trip fromR7 323From Johannesburg to Madrid
Flight route prices based on searches on Cheapflights within the last 3 days, monthly prices based on aggregated historical data.

Cheapest prices for Madrid flights by month

January
R8 161
February
R7 928
March
R8 003
April
R8 138
May
R8 138
June
R8 008
July
R8 298
August
R8 888
September
R8 523
October
R7 841
November
R7 940
December
R9 457
October is currently the cheapest month to fly to Madrid. At this moment in time December 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 Madrid?

Average Madrid Barajas flight ticket prices and weather conditions for 2021 and 2022 by month.
JNB - MAD
Price
R7 841 - R11 857
MAD
Temperature
11 - 33 °C
MAD
Rainfall
9 - 65 mm
Flying to Madrid in October is usually considered the best time to fly. However, you will find other deals are always available year round. If you are looking for warm weather when you arrive off of your flight to Madrid then July is statistically the hottest. October is historically the period with most rainfall.

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

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

The cheapest day to fly to Madrid is usually Tuesday. At the moment, Saturday is the most expensive.

What time of day is cheapest to fly to Madrid?

Madrid 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!

Cheap tickets to Madrid found by our users in South Africa

Madrid airports

Home Europe Spain Cheap flights to Madrid, Spain
  • Return
  • One-way
  • Economy
  • Premium Economy
  • Business
  • First