The victory was the third on the European Tour for Hansen, who carded a 66 in the last round.
Hansen's round included a string of four straight birdies on the front nine.
McLardy, who had been a co-leader after the third round, shot a 68 for 270. He needed a birdie on the last hole to force a playoff but his tee shot flew left into trees and he finished with a par.
Scott David Drysdale shot a 69 and placed third at 13-under 271.
Tyrone Van Aswegen (68), Danny Willett (68) and Charl Schwartzel (70) shared fourth at 272.
Hansen had been eight shots off the lead after the tournament's first round.
"I think it means a lot to win obviously -- because that's of course what we're here for," Hansen said.
"Especially after the first day, where the first two holes I started double bogey-bogey and (thought) 'What is this?' But I turned that round around and got off to a flying start the second day."