A direct flight to Mauritius from Johannesburg takes around 3 hours 50 minutes, with additional time required if you make a stop. Mauritius is two hours ahead of Johannesburg, so factor this into your arrival time.