The Dane lifted the trophy at last week's Joburg Open but found himself five shots off the lead after 18 holes in the stunning surroundings of Leopard Creek Country Club.
He soon set about putting that right in round two, turning in 32 to move up the leaderboard and then birdieing three of his last four holes to post the lowest round of the week and lead by three at ten under.
Overnight leader Robin Roussel made two birdies in his first six holes to trim that lead to one, with South African Christiaan Bezuidenhout and Scotland's Scott Jamieson at seven under in the clubhouse.
Jamieson had birdied four of his last five holes on Thursday and he continued that blistering pace on day two, making gains on the tenth, 12th and 13th to jump out to nine under and a two shot lead.
He bogeyed the next but picked the shot straight back up on the 15th as he turned in 34, with Hansen enduring a roller coaster on his first nine from the tenth.
Lowest round of the week so far ✍️ pic.twitter.com/3DFZLME7BM— The European Tour (@EuropeanTour) November 27, 2020
The 30-year-old started with two birdies but dropped a shot on the 12th before going eagle-birdie-birdie to catapult himself to seven under.
He dropped a shot on the 16th but moved back to seven under on the 18th and was soon in a six way tie for the lead as Jamieson dropped shots on the first and third.
Bezuidenhout was in that group as he picked up shots on the 11th and 12th, put an approach to three feet at the first and made another gain at the third in his bogey free 68.
Last week's runner up Wilco Nienaber had also been at seven under with birdies on the 12th, 15th, 18th, third, fourth and sixth but he double bogeyed the last in a 68 to slip back.
Hansen and Jamieson jumped out of that group with birdies on the sixth and fourth respectively but Hansen holed a 25 foot right to lefter on the eighth to lead on his own and then put his approach to two feet on the ninth for a closing birdie.
Jamieson then dropped a shot at the seventh to sign for a 71 and extend Hansen's advantage.