
3
Airlines
14×
Per week
$456
From (live)
via ZN
1.8h
Nonstop
Johannesburg (JNB) → Lusaka (LUN)
Johannesburg
O.R. Tambo International
DISTANCE
1 298 km
Lusaka
Kenneth Kaunda 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
↔ stableLowest one-way fare from weekly Travelpayouts snapshots. See methodology for how we collect this.
Compare carriers on this route
🇿🇦Airlink
4Z
- Frequency
- 14× / week
- Baggage
- LCC (paid) +7
- Migrant program
- —
🇿🇦South African Airways
SA
- Frequency
- 14× / week
- Baggage
- LCC (paid) +5
- Migrant program
- —
🇰🇪Kenya Airways
KQ
- Frequency
- 14× / week
- Baggage
- LCC (paid) +5
- Migrant program
- —
Flights Johannesburg -> Lusaka (JNB-LUN) — USD Fares, Airlines, Frequency
14 scheduled departures a week link Johannesburg (JNB) in South Africa with Lusaka (LUN) — about 2 a day — flown by 3 catalogued carriers at a scheduled block time near 1.8 hours. Our catalogue scores corridor demand 6/10 and files it as an intra-Africa + Gulf hub transit corridor.
Flight JNB -> LUN is operated by Airlink, South African Airways, Kenya Airways (~14 flights per week, ~1.8h 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–Lusaka is about 1,201 km, computed from the stored coordinates of JNB (-26.13, 28.24) and LUN (-15.33, 28.45). What the figure fixes is the sector profile — 1,201 km against a scheduled 1.8-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–LUN. 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
3 carriers operate JNB–LUN: Airlink (4Z), South African Airways (SA) and Kenya Airways (KQ). Our carrier table records checked-baggage baselines of 23 kg; South African Airways and Kenya Airways sit in SkyTeam and Star Alliance, with no alliance recorded for 4Z.
| Carrier | Baggage baseline | Alliance |
|---|---|---|
| Airlink (4Z) | 23 kg | - |
| South African Airways (SA) | 23 kg | Star Alliance |
| Kenya Airways (KQ) | 23 kg | SkyTeam |
The JNB–LUN carriers do not share one alliance — SkyTeam and Star Alliance are represented — and that has a concrete consequence. Mileage earning and lounge access do not carry across the split, and more importantly a connection built across two of these airlines is only through-checked when the two tickets are issued as one. Two separate confirmations mean you collect the bag, clear immigration where required, and check in again — and a missed second flight is your cost, not the airline’s.
One column is blank rather than negative. Our carrier file carries a row for Airlink but no alliance value, which means unrecorded, not unaligned — this page therefore 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-LUN
$464 is the lowest one-way economy price the Travelpayouts feed returned for JNB–LUN on ZN, for a 2026-08-10T10:15:00+02:00 departure. 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–LUN on that date.
Typical economy fares on JNB-LUN sit in the $500-1,500 range. Live cached fares from Travelpayouts appear in the panel below; fare-month seasonality follows.
Across the 1 departure month our cache holds a one-way low for, the cheapest reading on JNB–LUN is $251 for a Sep 2026 departure and the dearest is $251 for Sep 2026 — a spread of $0 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 | $251 |
Treat every cached figure on JNB–LUN as a fare, not as a trip cost. What the cache cannot see is the booking class behind the number: checked baggage, seat selection and change rights are all fare-family attributes, and the buckets that produce record-low quotes are the ones that include least. Price the trip you are actually taking.
Checked baggage and uplift on JNB–LUN — and what is not covered
23 kg is the checked-baggage baseline our carrier table records for the 3 airlines on JNB–LUN, with a recorded diaspora uplift of up to +7 kg on Airlink. Baselines are economy figures and fare-family dependent. The allowance printed on your issued ticket overrides any table, this one included.
Read the baseline as an advertised standard rather than a guarantee. Airlines on JNB–LUN sell below it through hand-baggage and basic-economy fare families, and those are disproportionately the fares that appear as the corridor’s cheapest quote. The only allowance that binds anyone is the one printed on the ticket you hold.
Where our table records a migrant or diaspora uplift — +7 kg on Airlink, +5 kg on South African Airways and +5 kg on Kenya 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.
Is the cheap JNB–LUN itinerary really nonstop?
1.8 hours is the scheduled nonstop block time on JNB–LUN; 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–LUN the practical test is the elapsed-time figure: compare it against the 1.8-hour block time before you compare prices.
The second trap is the ticket, not the routing. Two cheap sectors bought separately to reach Lusaka 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
14 weekly departures across 3 carriers mean a live JNB–LUN search returns several price points for the same day; our cached floor for the corridor is $464. Scheduled nonstop block time is 1.8 hours, so any result far above that is connecting whatever the screen says.
Search JNB -> LUN on Aviasales ->
Three checks make a live JNB–LUN 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 1.8-hour nonstop are different products at the same number. Then check whether the fare carries the bag you are actually taking.
Date flexibility beats every other lever on JNB–LUN. 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 Lusaka
2 catalogued corridors in this site’s data reach Lusaka (LUN), Kenneth Kaunda International, ICAO FLLS, from 2 catalogued origins and 4 carriers in total. That count is this site’s coverage of Lusaka, 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.
Lusaka, Zambia — destination on the intra-Africa + Gulf hub transit corridor. Destination currency: USD (we quote in USD throughout this guide).
Beyond JNB, our catalogue reaches Lusaka from 1 other origin: Harare (HRE). That matters when the JNB–LUN 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.
Where our airport file holds no coordinates, hub carriers or country row for a destination, this page says less rather than guessing — no distance band, no hub analysis, no currency note. Lusaka is catalogued here on the strength of the JNB–LUN corridor itself: the carriers our route file records, the estimated weekly frequency, the scheduled block time and whatever the fare cache has seen. That is a narrower page, and an honest one.
FAQ
Which airlines fly Johannesburg to Lusaka? Direct JNB-LUN flights are operated by Airlink, South African Airways, Kenya Airways. Compare baggage baseline and alliance in the carrier table above.
How long is the JNB-LUN flight and how often does it run? Block time is about 1.8 hours. The JNB-LUN route runs roughly 14 flights per week across all carriers.
How much does a JNB-LUN 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-LUN? 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 Lusaka? Lusaka 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–LUN 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.
- Lusaka airport (LUN) — Kenneth Kaunda International, Zambia: 0 catalogued departure corridors and 2 arrival corridors.
Internal links on this site are placed from the data, not from a keyword list: a corridor is linked when it shares an origin, a destination, a carrier or an audience cluster with the page you are on. If a link above looks unrelated to your trip, it probably shares a carrier or a hub rather than a destination.
Each airport page goes wider than this one: every catalogued route at that field, which carriers are actually based there, the alliance spread and the passenger rights regime of its country. That last item is the reason both ends of JNB–LUN are linked — on a disruption, the departure airport’s jurisdiction is what decides your remedy.
Where to stay · Lusaka
Hotels in Lusaka — 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 Lusaka