
2
Airlines
7×
Per week
$263
From (live)
4.2h
Nonstop
Johannesburg (JNB) → Kigali (KGL)
Johannesburg
O.R. Tambo International
DISTANCE
2 910 km
Kigali
Kigali International
Flight time is an estimate: great-circle distance with ~8% routing adjustment and ~45 min ground operations. Actual block time depends on the carrier, winds, and specific service (check the airline schedule).
Fare trend — last 3weeks
↓ down 13%Lowest one-way fare from weekly Travelpayouts snapshots. See methodology for how we collect this.
When are fares cheapest?
Cheapest one-way fare actually found for each departure month — click a month to search.
Cheapest month to fly Johannesburg to Kigali: August 2026, from $262 one-way.Based on 3 months of tracked fares · updated 16 Aug 2026
Compare carriers on this route
🇷🇼RwandAir
WB
- Frequency
- 7× / week
- Baggage
- LCC (paid)
- Migrant program
- —
🇿🇦South African Airways
SA
- Frequency
- 7× / week
- Baggage
- LCC (paid) +5
- Migrant program
- —
Flights Johannesburg -> Kigali (JNB-KGL) — USD Fares, Airlines, Frequency
7 scheduled departures a week link Johannesburg (JNB) in South Africa with Kigali (KGL) — roughly one a day — flown by 2 catalogued carriers at a scheduled block time near 4.2 hours. Our catalogue scores corridor demand 6/10 and files it as an intra-Africa + Gulf hub transit corridor.
Flight JNB -> KGL is operated by RwandAir, South African Airways (~7 flights per week, ~4.2h block time). This is an intra-Africa + Gulf hub transit corridor, with typical economy USD fares in the $500-1,500 band. Intra-Africa and Gulf-hub transit fares move week-to-week; 4-8 weeks is the typical sweet spot.
Great-circle distance Johannesburg–Kigali is about 2,695 km, computed from the stored coordinates of JNB (-26.13, 28.24) and KGL (-1.97, 30.14). What the figure fixes is the sector profile — 2,695 km against a scheduled 4.2-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–KGL. 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–KGL: RwandAir (WB) and South African Airways (SA). Our carrier table records checked-baggage baselines of 23 kg; South African Airways sits in Star Alliance while our table puts RwandAir outside a global alliance. That mix decides three things — the fare floor, whether your bag is through-checked on a connection, and which delay regulation covers you.
| Carrier | Baggage baseline | Alliance |
|---|---|---|
| RwandAir (WB) | 23 kg | none |
| South African Airways (SA) | 23 kg | Star Alliance |
Our carrier table records a diaspora / migrant-worker baggage uplift of +5 kg on South African Airways. Read that as a carrier promotion, not a universal entitlement: uplifts of this kind are normally tied to specific fare families and specific corridors, they are rarely honoured on a codeshare or interline segment issued by another airline, and the cheapest promotional fare buckets are the ones most often excluded. Confirm the allowance against your own booking class before you pack to it.
USD fares — JNB-KGL
$303 is the lowest one-way economy price the Travelpayouts feed returned for JNB–KGL. That is a single cached observation on this one corridor — not a low across the site’s fare cache, and not a live price — so read it as an observed floor for JNB–KGL on that date.
Typical economy fares on JNB-KGL sit in the $500-1,500 range. Live cached fares from Travelpayouts appear in the panel below; fare-month seasonality follows.
Across the 3 departure months our cache holds a one-way low for, the cheapest reading on JNB–KGL is $303 for a Sep 2026 departure and the dearest is $312 for Oct 2026 — a spread of $9 between the best and worst month in the same cache. Month-to-month movement of that size is normal on this corridor and is usually worth more than any single booking trick.
| Departure month | Cheapest one-way seen (USD) |
|---|---|
| Sep 2026 | $303 |
| Oct 2026 | $312 |
| Nov 2026 | $305 |
Book 4-8 weeks ahead. Fares rise around the December holidays; mid-week departures are usually the cheapest. That window is cluster guidance for an intra-Africa + Gulf hub transit corridor 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.
How much baggage can you take on JNB–KGL?
23 kg is the checked-baggage baseline our carrier table records for the 2 airlines on JNB–KGL, with a recorded diaspora uplift of up to +5 kg on South African Airways. Baselines are economy figures and fare-family dependent. The allowance printed on your issued ticket overrides any table, this one included.
A baggage baseline is the economy checked allowance an airline advertises as standard. It is not what your ticket necessarily grants. The same airline sells fare families below the baseline — hand-baggage-only and basic-economy buckets are exactly the ones that surface as the cheapest JNB–KGL quote in any fare cache, including ours. The allowance printed on your itinerary overrides any table, ours included.
Where our table records a migrant or diaspora uplift — +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.
Connections on JNB–KGL: what “direct” actually buys you
4.2 hours is the scheduled nonstop block time on JNB–KGL; any itinerary a search returns well above that is connecting, whatever the screen calls it. “Direct” is a flight-number description, not a promise of a single takeoff and landing. Two separately issued sectors are not one contract.
The distinction is not pedantry. A direct flight keeps one flight number through an intermediate stop, so it can sit in the nonstop filter of a search engine while adding an hour on the ground and a second departure to miss. A connecting itinerary changes flight number and usually aircraft. On JNB–KGL the practical test is the elapsed-time figure: compare it against the 4.2-hour block time before you compare prices.
The second trap is the ticket, not the routing. Two cheap sectors bought separately to reach Kigali are not one contract: your bag is not through-checked, you re-clear security and often immigration at the transfer point, and if the first leg lands late the second airline owes you nothing — no rebooking, no refund, no duty of care. A single ticket that costs more can be the cheaper outcome the first time anything slips.
Search live fares
7 weekly departures across 2 carriers mean a live JNB–KGL search returns several price points for the same day; our cached floor for the corridor is $303. Scheduled nonstop block time is 4.2 hours, so any result far above that is connecting whatever the screen says.
Search JNB -> KGL on Aviasales ->
A live JNB–KGL search is only comparable once three things are pinned: the cabin and passenger count, so totals are like for like; the elapsed time, which separates a genuine nonstop from a routing that merely costs the same; and the baggage the fare includes. Skip any of the three and you are comparing two different products.
Date flexibility beats every other lever on JNB–KGL. Month-scanning surfaces the seasonal shape our fare log records; repeated searching on one fixed date mostly surfaces the same fare bucket. When the calendar is not negotiable — pilgrimage, school holidays, a job start — the useful move is to buy sooner, because scarcity, not timing, is what sets the price then.
About Kigali
3 catalogued corridors in this site’s data reach Kigali (KGL), Kigali International, ICAO HRYR, from 3 catalogued origins and 3 carriers in total. That count is this site’s coverage of Kigali, 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.
Kigali, Rwanda — destination on the intra-Africa + Gulf hub transit corridor. Destination currency: USD (we quote in USD throughout this guide).
Beyond JNB, our catalogue reaches Kigali from 2 other origins: Dar es Salaam (DAR) and Nairobi (NBO). That matters when the JNB–KGL 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.
Kigali is a based hub for RwandAir. 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 KGL, and competitors price against it rather than the other way round.
FAQ
Which airlines fly Johannesburg to Kigali? Direct JNB-KGL flights are operated by RwandAir, South African Airways. Compare baggage baseline and alliance in the carrier table above.
How long is the JNB-KGL flight and how often does it run? Block time is about 4.2 hours. The JNB-KGL route runs roughly 7 flights per week across all carriers.
How much does a JNB-KGL flight cost and when is it cheapest? Typical economy fares sit in the $500-1,500 USD band. 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-KGL? 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 Kigali? Kigali uses USD. Fares in this guide are quoted in USD; budget on-the-ground spending in USD.
Related routes and reading
2 pages below connect to JNB–KGL through the data: a shared airport, a shared operating carrier, or the same audience cluster in our segmentation. Each is annotated with what it actually contains, so you can decide before clicking. Each corridor entry carries that route’s carriers, estimated weekly frequency, scheduled block time and demand score straight from our route file.
- Johannesburg airport (JNB) — O.R. Tambo International, South Africa: 39 catalogued departure corridors and 6 arrival corridors.
- Kigali airport (KGL) — Kigali International, Rwanda: 8 catalogued departure corridors and 3 arrival corridors.
Nothing above was chosen by keyword. The link set is derived from the route, carrier and airport files — a shared endpoint, a shared operator, a shared country or the same audience cluster is what puts a page on this list. That is why a link can point at a city you have no interest in and still be the useful one: it shares the airline.
The corridor links are there to be used as alternatives, not as further reading. If the JNB–KGL fare or schedule does not work, a different African gateway to Kigali is often the better fix — positioning within the continent is cheap relative to the long-haul sector, and the fare gap between two origins to the same destination is regularly wider than the positioning ticket. The catch is that separately issued sectors carry no protection if the first one runs late.
Where to stay · Kigali
Hotels in Kigali — USD budget
Budget
Guesthouse & 2-3★
$25–50 / night
Mid
Comfort 3-4★
$50–120 / night
Luxury
5★ & resort
$120+ / night
Hotellook compares 70+ booking sites including Booking.com, Agoda, Trip.com — booking earns us a small commission at no extra cost.
All hotels in Kigali