There are generally two departure points in Bangkok i.e. you can choose the Bangkok - Don Muang (DMK) to Cape Town route or the Bangkok (BKK) to Cape Town route. However there aren't usually any flights from BKK so we will only focus on DMK.
(BKK) Bangkok to Cape Town
You can make a choice from these cheap flights to Cape Town i.e. Kenya Airways, Ethiopian Airlines, Thai Airways International, Emirates, Cathay Pacific Airways, Malaysia Airways Singapore Airlines or the KLM Royal Dutch Airlines.
The cheapest flight amongst these is Kenya Airways and Ethiopian, which costs about half of what other flights are charging for the same trip.
The Ethiopian airways flight leaves Bangkok at 01:40 and flies to its home country Addis Ababa. It gets there at 06:35 in the morning and leaves for Johannesburg at 08:50 and gets there at 13:15. From there it leaves at 15:00 and heads straight for Cape Town where it arrives at 17:10 the next day.
All in all this cheap flight to Cape Town takes 16 hours and 40 minutes on air and the overall journey is 22 hours and 20 minutes.
Emirates is also the second cheapest flight from Bangkok to Cape Town. It leaves Bangkok at 20:30 for Dubai. You might need a place to sleep in Dubai because it gets there at 23:35 and leaves for Johannesburg at 04:40 the following day.
The flight gets to Johannesburg at 10:50 and leaves for Cape Town at 13:00. The final journey takes about two hours and by 15:10 you would be in Cape Town.
Other flights to consider include Cathay Pacific, Malaysia and Singapore Airlines. KLM is the most expensive amongst these and has the longest journey.