The assailant pulled out a gun on the pilot before he plunged a knife into his thigh, according to Daily Mail.
The report further said that he was immediately rushed to the hospital and given emergency medical attention.
The victim had been jogging with another crew member during the stopover in the South African city before he was attacked.
The report also said the flight crew breached British Airways’ strict rules that require staff to remain in a secure and approved compound where their crew hotel is based.
According to a source in the British Airways, “The rules are there for a reason. Crew are ordered not to leave the hotel compound. But the captain and crew member decided to risk it and go for a jog.
“Soon afterwards they were followed and held up at gunpoint. During a melee the captain was stabbed in the leg.
“It was a harrowing ordeal. The pilot was taken to hospital. Everyone is just so thankful he’s okay. It could have been so much worse.”
The source revealed that the British Airways community had been affected by the incident and have caused polite reminders to be issued about abiding by the rules.
The pilot has since been allowed to leave the hospital following medical treatment and has flown home as a passenger.
Another crew were assembled to bring back the plane from South Africa that the pilot had been due to fly, but passengers were not notified of the prior incident.