Intra-Africa & Gulf connections

Johannesburg to Sao Paulo

Compare the total trip cost, connections and what to check before you book.

From JNB Johannesburg
To GRU Sao Paulo

Find your next flight

Trip type

Travellers and class
1 traveller · Economy

Opens the search on Aviasales in a new tab. Aviasales shows prices in the currency of your location or account settings, and the provider confirms the final price and booking terms. We may earn a commission from eligible bookings, at no extra cost to you.

Lowest fare found

$363 · one way

observed 25 Oct 2026 · departing 24 Nov 2026

Observed on 25 Oct 2026; the price may have changed. Check current fares for your dates.

1 adult, economy, in US dollars. Checked baggage and payment fees may be extra.

Check flights for your dates

Source: Aviasales search cache via Travelpayouts, refreshed weekly, in US dollars. A found fare is not a guaranteed seat. How we show fares

Airlines on this route

Airlines listed in our route data. Schedules and connections change; confirm the operating carrier and any transit rules when you book.

Compare flights

Flights Johannesburg -> Sao Paulo (JNB-GRU) — USD Fares, Airlines, Frequency

7 scheduled departures a week link Johannesburg (JNB) in South Africa with Sao Paulo (GRU) — roughly one a day — flown by 2 catalogued carriers at a scheduled block time near 10.5 hours.

Flight JNB -> GRU is operated by LATAM Airlines, South African Airways (~7 flights per week, ~10.5h block time). This is an intra-Africa + Gulf hub transit corridor. As a rough planning range (an editorial estimate, not an observed fare), economy runs about $500-1,500; the fare observation on this page shows what our weekly snapshot recorded and when. Intra-Africa and Gulf-hub transit fares move week-to-week; 4-8 weeks is the typical sweet spot.

Great-circle distance Johannesburg–Sao Paulo is about 7,439 km, computed from the stored coordinates of JNB (-26.13, 28.24) and GRU (-23.44, -46.47). What the figure fixes is the sector profile — 7,439 km against a scheduled 10.5-hour block time — and the fuel-and-crew economics behind the fare floor. It does not fix a compensation amount. No fixed-tariff compensation scheme reaches JNB–GRU. EU261 and UK261 do band by distance, but they only cover flights departing an EU/EEA or UK airport — plus arrivals there on a bloc-licensed carrier — and neither endpoint here is one, whoever operates the flight. The Montreal Convention 1999 is what applies, and it pays provable loss, not a tariff.

Airlines on this route

2 carriers operate JNB–GRU: LATAM Airlines (LA) and South African Airways (SA). Our carrier table records checked-baggage baselines of 23 kg; South African Airways sits in Star Alliance, with no alliance recorded for LA. That mix decides three things — the fare floor, whether your bag is through-checked on a connection, and which delay regulation covers you.

CarrierBaggage baselineAlliance
LATAM Airlines (LA)23 kg-
South African Airways (SA)23 kgStar Alliance

One column is blank rather than negative. We have no alliance information on record for LATAM Airlines, so this page says nothing about its alliance membership either way. The practical question a connection turns on is narrower anyway: whether the two airlines on your itinerary interline, and whether both sectors sit on one ticket. Both are answerable at the booking screen, and neither depends on an alliance badge.

USD fares — JNB-GRU

$357 was the 2026-W25 reading in our weekly fare log for JNB–GRU, across 2 readings that range $357 to $359.

As a rough planning range (an editorial estimate, not an observed fare), economy on JNB-GRU runs about $500-1,500; the fare observation on this page shows what our weekly snapshot recorded and when. Cached fares from a weekly Travelpayouts snapshot appear in the panel below, with their observation date; fare-month seasonality follows.

Book 4-8 weeks ahead. Fares rise around the December holidays; mid-week departures are usually the cheapest. That window is general guidance rather than a rule for this single pairing; on a corridor with 7 weekly departures, the practical constraint is often seat availability on the days you can actually travel, not the headline fare.

One thing our fare data cannot tell you: whether the quote includes a checked bag. The cache stores a price and a carrier, not a fare family. On JNB–GRU that matters most where a low-cost carrier or a basic-economy bucket is in the mix, because the cheapest screen number and the cheapest all-in number are then two different itineraries. Compare after adding the bag you will actually carry.

Entry rules at Sao Paulo (GRU)

Entry rule for Brazil, by passport: Visa-exempt up to 90 days for South African, Botswanan and Namibian passports; Nigerian passports need a visa. Other passports: check Brazil’s official visa table. Fee No visa fee for exempt stays; visa fees vary by nationality; maximum stay Up to 90 days for exempt nationalities. A transit stop can need its own visa even when you never leave the terminal.

Entry typeFeeMaximum stayOfficial source
Visa-exempt up to 90 days for South African, Botswanan and Namibian passports; Nigerian passports need a visa. Other passports: check Brazil’s official visa tableNo visa fee for exempt stays; visa fees vary by nationalityUp to 90 days for exempt nationalitiesBrazil official source

Worth knowing before you book: Brazil’s visa table (QGRV) updated 7 October 2026. Check health-entry requirements with the Brazilian consulate before travel.

Read the row above against your own passport. It names the nationalities it covers, and an ECOWAS, EAC or Maghreb passport not named there can face a different fee, a different processing route or no eligibility at all for the same destination. Entry rules change without notice, so the linked government portal is the authority, not this table.

Checked baggage and uplift on JNB–GRU — and what is not covered

23 kg is the checked-baggage baseline our carrier table records for the 2 airlines on JNB–GRU, with a recorded diaspora uplift of up to +15 kg on LATAM Airlines. Baselines are economy figures and fare-family dependent. The allowance printed on your issued ticket overrides any table, this one included.

The baseline is the headline, the fare family is the contract. On JNB–GRU the same carrier will sell you a fare beneath its own advertised allowance, and those stripped buckets are exactly the ones that set record-low cached prices. Whatever a table says — this one included — the allowance on your issued itinerary is the number that will be enforced at the counter.

Where our table records a migrant or diaspora uplift — +15 kg on LATAM Airlines and +5 kg on South African Airways — three exclusions usually bite. The uplift attaches to nominated corridors rather than the whole network; it rarely survives onto a codeshare or interline segment operated and ticketed by a different airline; and the deepest-discount fare buckets are commonly carved out. None of that makes the uplift fictional, but it does mean it has to be confirmed against your booking class, in writing, before you pack to it.

Search live fares

7 weekly departures across 2 carriers mean a live JNB–GRU search returns several price points for the same day; our weekly fare log has recorded readings as low as $357 (see the dated history on this page). Scheduled nonstop block time is 10.5 hours, so any result far above that is connecting whatever the screen says.

Search JNB -> GRU on Aviasales ->

Three checks make a live JNB–GRU result comparable. Fix the passenger count and cabin first, because a per-passenger fare and a party total look identical on a results page. Then read the elapsed time next to the price — a one-stop itinerary and the 10.5-hour nonstop are different products at the same number. Then check whether the fare carries the bag you are actually taking.

Flexible dates are the highest-leverage setting on this corridor. Our own cache shows month-to-month movement on JNB–GRU that dwarfs the difference between booking gates, so one search across a whole month tells you more than five searches on a single date. Where the dates cannot move — a pilgrimage window, a school term, a contract start — book earlier instead of searching harder.

About Sao Paulo

2 catalogued corridors in this site’s data reach Sao Paulo (GRU), Guarulhos International, ICAO SBGR, from 2 catalogued origins and 3 carriers in total. That count is this site’s coverage of Sao Paulo, not the airport’s published schedule. Each of those corridors has its own guide with carriers, weekly frequency, scheduled block time and whatever the fare cache holds.

Sao Paulo, Brazil — destination on the intra-Africa + Gulf hub transit corridor. Destination currency: USD (we quote in USD throughout this guide).

Beyond JNB, our catalogue reaches Sao Paulo from 1 other origin: Luanda (LAD). That matters when the JNB–GRU fare is unattractive: on a continent where positioning flights are cheap, flying out of a different gateway is a real option, and each of those corridors has its own guide, carriers and cached fare floor on this site.

Sao Paulo is a based hub for LATAM Airlines and G3. A hub airport behaves differently from an outstation: connecting banks are built around it, spare aircraft and crew sit there, and a disruption is far more likely to be recovered the same day. It also means the hub carrier usually sets the price on routes into GRU, and competitors price against it rather than the other way round.

FAQ

Which airlines fly Johannesburg to Sao Paulo? Direct JNB-GRU flights are operated by LATAM Airlines, South African Airways. Compare baggage baseline and alliance in the carrier table above.

How long is the JNB-GRU flight and how often does it run? Block time is about 10.5 hours. The JNB-GRU route runs roughly 7 flights per week across all carriers.

How much does a JNB-GRU flight cost and when is it cheapest? Our rough planning range is $500-1,500 USD (an editorial estimate, not an observed fare); the fare observation on this page shows what our weekly snapshot recorded and when. Intra-Africa and Gulf-hub transit fares move week-to-week; 4-8 weeks is the typical sweet spot.

What is the checked baggage allowance on JNB-GRU? It varies by carrier and fare class — see the baggage-baseline column in the carrier table above. Full-service carriers usually include 23-30 kg, while low-cost carriers sell it as an add-on. Confirm on the airline’s site before booking.

What currency is used in Sao Paulo? Sao Paulo uses USD. Fares in this guide are quoted in USD; budget on-the-ground spending in USD.

  • Johannesburg airport (JNB) — O.R. Tambo International, South Africa: 39 catalogued departure corridors and 6 arrival corridors.
  • Sao Paulo airport (GRU) — Guarulhos International, Brazil: 0 catalogued departure corridors and 2 arrival corridors.

Where this page covers one corridor, the linked airport guides cover the field: the full catalogued route list, based hub carriers, alliance mix and the compensation regime that applies there. Both JNB and GRU are linked deliberately, because departure airport and operating carrier — not destination — decide which rules cover a delay.

Entry, baggage and compensation rules change. Confirm with the airline or the official source before you travel.