How long is a flight from UK to Johannesburg?

The flight time is approximately 11 hours, 37 minutes.

This will vary depending on where in the UK you're flying from.