
If you’re flying into South Africa, odds are you’ll land at one of three airports: OR Tambo (JNB) outside Johannesburg, Cape Town International (CPT), or King Shaka (DUR) north of Durban. Those three handle almost all long-haul arrivals and connect to everywhere else in the country. If the trip is built around a Kruger safari, though, the smarter move is often to skip Johannesburg entirely and fly a small turboprop straight into one of three bush airstrips near the park gates.
Below is every airport that actually matters for trip planning, organized by what you’d use it for, plus a straight answer to the question everyone actually has: which one should you fly into?
Table of Contents
- The Three International Gateways
- The Regional Airports ACSA Also Runs
- Flying Straight Into Kruger: The Safari Airstrips
- Which Airport Should You Actually Fly Into?
- South Africa Airport Codes at a Glance
The Three International Gateways
South Africa’s airports are run by a single state operator, Airports Company South Africa (ACSA), which owns nine airports nationwide. Three of them are the international gateways that carry the vast majority of foreign traffic, and each serves a genuinely different part of the country.
OR Tambo International (JNB) — Johannesburg
OR Tambo is South Africa’s busiest airport and the main hub for South African Airways, Airlink, and most long-haul carriers flying in from Europe, the US, the Middle East, and elsewhere in Africa. It’s also where most Kruger-bound travelers land, because Johannesburg sits about two and a half hours’ drive from the park’s western gates.
The Gautrain station sits inside the terminal, reachable by following blue signage from international arrivals, and gets you to Sandton in 15 minutes flat. You’ll need a Gold Card (R32) loaded with at least R200 for the fare, which beats sitting in Johannesburg’s rush-hour traffic on the N1. Trains run every 12 minutes at peak and every 20 to 30 minutes off-peak, roughly 05:30 to midnight on weekdays.
OR Tambo runs on backup generators during load-shedding, so it’s one of the few places in Gauteng where a power cut won’t shut down check-in or baggage claim. Budget extra time for security regardless — the international departures hall gets genuinely congested during the 18:00–21:00 evening bank of European and Middle Eastern flights.

Cape Town International (CPT)
Cape Town’s airport sits about 20 minutes from the city center on a good run down the N2, though that stretches to 45 minutes or more in rush hour or when the notorious Cape “southeaster” wind snarls traffic near the city bowl. Uber and Bolt are the easiest options and reliably available from the terminal. The MyCiTi bus service to the CBD has run on and off in recent years, so treat it as a maybe rather than a plan.
This is the airport for the Cape Winelands, the Garden Route’s western end, and anyone starting a coastal road trip. It’s also increasingly the arrival point of choice for travelers who want to avoid Johannesburg altogether and fly directly in from Europe or the Gulf.
King Shaka International (DUR) — Durban
King Shaka sits roughly 35 km north of central Durban, near La Mercy, and a taxi or private transfer covers that distance in about 35 minutes. Shared shuttle buses run a similar route for less money, typically 30 minutes or so.
Airlink, British Airways, Emirates, and Qatar Airways all fly in here, alongside domestic routes to Johannesburg, Cape Town, Gqeberha, George, Bloemfontein, and the KwaZulu-Natal south coast. It’s the right gateway for the Drakensberg, the Zulu Kingdom, and Durban’s beaches, and it quietly serves as the region’s connector to smaller coastal towns that don’t have their own commercial airports.
The Regional Airports ACSA Also Runs
Beyond the big three, ACSA operates six more airports that rarely show up in a traveler’s plans unless a specific destination requires them:
- George Airport (GRJ) — the actual gateway to the Garden Route, connecting to Johannesburg, Cape Town, Durban, and Lanseria via FlySafair, Airlink, and CemAir. It had its busiest year on record in 2025, and a R310 million expansion starting in late 2026 is set to double its capacity by 2028. If your Garden Route trip starts or ends mid-route rather than in Cape Town, this is the airport to fly into.
- Chief Dawid Stuurman International (PLZ) — serves Gqeberha (formerly Port Elizabeth) and the Eastern Cape’s malaria-free game reserves, like Addo Elephant National Park.
- King Phalo Airport (ELS) — East London, useful for the Wild Coast and Eastern Cape road trips.
- Bram Fischer International (BFN) — Bloemfontein, mostly a domestic connector with little tourist relevance on its own.
- Kimberley Airport (KIM) — Northern Cape, relevant mainly for the diamond-mining history route.
- Upington International (UTN) — the gateway to the Kalahari and the Augrabies Falls area, notable for having one of the longest runways in the Southern Hemisphere (a legacy of its Cold War-era role as an emergency landing strip for the Space Shuttle).
None of these are places you’d fly into on a first South Africa trip. They matter only if your itinerary specifically includes the Garden Route mid-route, the Eastern Cape’s malaria-free reserves, or the Kalahari.
Flying Straight Into Kruger: The Safari Airstrips

This is the option that changes trip-planning math the most, and it’s the one generic airport directories skip entirely. Instead of landing in Johannesburg and driving three to five hours to a lodge, you can fly a short domestic hop straight to an airstrip inside or next to Kruger National Park.
- Kruger Mpumalanga International (MQP), near Mbombela/Nelspruit, is the biggest of the three. Airlink flies here from Cape Town, Durban, and OR Tambo, plus regional routes to Victoria Falls and Vilankulo in Mozambique. FlySafari also runs Cape Town and Johannesburg routes, and Federal Air connects on to smaller private airstrips like Phinda and Timbavati. It gets daily service from both Durban and Cape Town, which makes it the most flexible of the three if you’re not routing through Johannesburg at all.
- Skukuza Airport (SZK) sits inside the park itself, a short drive from several well-known lodges. Airlink flies here directly from OR Tambo and Cape Town, and landing here means your safari starts the moment you clear the tiny terminal, not after a multi-hour transfer.
- Hoedspruit (Eastgate) Airport (HDS) serves the park’s central region and the private reserves bordering it, with Airlink flights from Johannesburg and Cape Town running daily.
Flights into any of these cost more than the drive and involve smaller aircraft with tighter baggage allowances, usually around 20kg checked and a soft-sided bag preferred over a hard suitcase. For a safari-focused trip of five days or fewer, the time saved is usually worth it.
Which Airport Should You Actually Fly Into?

Flying into Cape Town or the Winelands: Cape Town International, no real alternative. If the Garden Route is also on the itinerary, consider flying into Cape Town and out of George (or the reverse) instead of doubling back.
Doing the Garden Route as its own trip: Fly into Cape Town, drive the N2 east, and fly out of George rather than backtracking to Cape Town. It saves a full day of driving.
A Kruger safari with nothing else on the itinerary: Skip OR Tambo’s transfer entirely and fly directly into Kruger Mpumalanga International, Skukuza, or Hoedspruit, whichever one your lodge is closest to. Ask the lodge which airstrip they recommend; they’ll know the current road conditions and transfer times better than any general guide will.
Combining Johannesburg or a broader itinerary with Kruger: Land at OR Tambo, then either drive the two-and-a-half hours to the park’s western gates or connect onward by air to Skukuza or MQP. The connecting flight costs more but cuts a half-day of driving.
Durban, the Drakensberg, or the Zulu Kingdom: King Shaka is the only sensible choice, and it also works as a secondary gateway if you’re building a multi-region trip that starts in Cape Town and ends on the KwaZulu-Natal coast.
Multi-region trips: Open-jaw it. Fly into one gateway and out of another instead of backtracking. Cape Town in, Durban out (or vice versa) is a common routing that avoids retracing the same ground twice, and most international carriers price it the same as a round trip through a single city.
South Africa Airport Codes at a Glance
| Airport | IATA Code | City / Region |
|---|---|---|
| OR Tambo International | JNB | Johannesburg |
| Cape Town International | CPT | Cape Town |
| King Shaka International | DUR | Durban |
| George Airport | GRJ | Garden Route |
| Chief Dawid Stuurman International | PLZ | Gqeberha (Port Elizabeth) |
| King Phalo Airport | ELS | East London |
| Bram Fischer International | BFN | Bloemfontein |
| Kimberley Airport | KIM | Kimberley |
| Upington International | UTN | Upington |
| Kruger Mpumalanga International | MQP | Mbombela/Nelspruit, Kruger |
| Skukuza Airport | SZK | Inside Kruger National Park |
| Hoedspruit (Eastgate) Airport | HDS | Central Kruger region |
These are the IATA codes you’ll see on boarding passes and baggage tags; each airport also carries a separate four-letter ICAO code used in flight planning, which you’ll rarely need unless you’re booking a private charter. For official arrival requirements, transfer facilities, and real-time flight status, ACSA’s own airport pages stay more current than any third-party guide, and SANParks publishes the current, authoritative list of which Kruger gate sits closest to which airstrip if your lodge hasn’t already told you.

