Earn point on your loyalty program!arrow arc left

Cheap flights from Birmingham (BHM) to Johannesburg (JNB)

Know your dates, get live prices in seconds

How to find the cheapest flight from Birmingham (BHM) to Johannesburg (JNB)

How to find the cheapest flight from Birmingham (BHM) to Johannesburg (JNB)
Some placeholder content for the first accordion panel. This panel is shown by default, thanks to the .show class.
How to find the cheapest flight from Birmingham (BHM) to Johannesburg (JNB)
Some placeholder content for the first accordion panel. This panel is shown by default, thanks to the .show class.
How to find the cheapest flight from Birmingham (BHM) to Johannesburg (JNB)
Some placeholder content for the first accordion panel. This panel is shown by default, thanks to the .show class.

Cheap flights from Birmingham to Johannesburg in September , October 2026

28 Sep - 02 Nov $ 2,084.00
BHM
Birmingham
BREEZE
3 STOPS
JNB
Johannesburg
JNB
Johannesburg
BREEZE
3 STOPS
BHM
Birmingham
28 Sep - 02 Nov $ 2,097.00
BHM
Birmingham
BREEZE
3 STOPS
JNB
Johannesburg
JNB
Johannesburg
BREEZE
3 STOPS
BHM
Birmingham
27 Sep - 05 Oct $ 2,631.00
BHM
Birmingham
United Airlines
2 STOPS
JNB
Johannesburg
JNB
Johannesburg
United Airlines
2 STOPS
BHM
Birmingham

One-way flights to Johannesburg from Birmingham

4:18 PM - 2:05 AM
Etihad Airways
3 Stops
57h 2m
BHM - JNB
8:58 PM - 2:05 AM
Etihad Airways
3 Stops
52h 22m
BHM - JNB
8:58 PM - 12:35 PM
Kenya Airways
3 Stops
35h 52m
BHM - JNB

How to find the cheapest flight from Birmingham (BHM) to Johannesburg (JNB)

Related info for your journey
Some placeholder content for the first accordion panel. This panel is shown by default, thanks to the .show class.
How to find the cheapest flight from Birmingham (BHM) to Johannesburg (JNB)
Some placeholder content for the first accordion panel. This panel is shown by default, thanks to the .show class.
How to find the cheapest flight from Birmingham (BHM) to Johannesburg (JNB)
Some placeholder content for the first accordion panel. This panel is shown by default, thanks to the .show class.