Fleetwood made an up and down to save par on the first play-off hole, while Kinhult struggled with his tee shot and went on to make bogey.
The Englishman came from six shots off the lead entering the final day in Sun City, going on to card a superb 65 in a final round that included three eagles.
Fleetwood made back-to-back eagles on the ninth and tenth holes but could have avoided a play-off had he not made three bogeys on the back nine, setting the score to beat at 12 under for the tournament.
Kinhult was in contention at the turn after making four birdies on the front nine. An additional birdie without loss on the way back to the club house meant that the Swede took Fleetwood to a play-off, eventually losing at the first play-off hole.
Fleetwood collected the largest winning prize in European Tour history for his victory, amounting to $2.5 million.
The win marks the 28-year-old's fifth European Tour victory since January 2018.
"I made a great up and down on one and without that the day could have been completely different. I was also really proud of how I played 17 and 18," Fleetwood said.
"I was getting more and more nervous [as the round went on]. Being a golfer these days you have the chance at a young age to set your family up for life ... it's just really cool when you win a tournament."
Overnight leader Zander Lombard had a woeful day as he carded 77, including four bogeys and a double-bogey.
The Nedbank Golf Challenge is the penultimate tournament in the 2019 Race to Dubai, with Fleetwood now in second pace behind leader Austria's Bernd Wiesberger.
Information from Reuters contributed to this report.