Due to its size, Expedia often has access to special fares which can be lower than booking directly with the airlines. This is particularly true where an itinerary involves more than one airline, which I assume is the case here - connecting through JNB onto South African or BA to HRE.
There's not much to be done. You need to decide if double miles or £250 is more important to you.