Hanson shot four-under-par 68 and is alongside 2011 Masters winner, and defending champion, Charl Schwartzel and Keith Horne on 14 under par, three back of leader Brandon Stone.
The Yorkshireman, who began the day in a share of second, maintained that position - occasionally holding it on his own - until dropping two shots in three holes from the 14th.
It was a spell that included an out of bounds tee shot at the 14th and an approach into water at the next, and could easily have destabilised him.
But the 31-year-old hit his second to the 448-yard par-4 17th to within a few inches for birdie and then dipped another shot below par at the 541-yard par-5 last by holing a slippery, downhill 12ft putt.
"My tee shot at 14 (which went out of bounds) was a funny one," he said. "I was very surprised it finished there."
Hanson retained his composure to make 'birdie' with his second ball and only dropped a shot.
At the next, a 598-yard par-5, he put his second into the lake at the side of the green, but after dropping under penalty got up and down for par.
The 16th - a 208-yard par-3 surrounded by water - produced another bogey although his long putt after splashing out of a bunker finished agonisingly short of the cup.
"I hit poor shots at 14 and 15, but great focus meant I made bogey and par. As for 16, it is just such a tough hole to that flag (close to the bunker on the right of the green).
"My game is good and I'm just enjoying myself."
After opening rounds of 69 65, Hanson had birdies at holes two, six and eight on his way out, but dropped a shot at the 215-yard par-3 seventh.
He began his inward nine with birdies at 10 and 11, two-putting at the latter after driving through the green at the 375-yard par-4.
Another shot was shed at the 192-yard par-3 12th after his tee shot finished in a bunker, but for the second time in the round he bounced straight back with a birdie.
Stone is on course to secure his second European Tour title after extending his overnight lead from one to three shots.
The 23-year-old produced a superb 66 at Leopard Creek in Malelane while Scot David Drysdale shot the lowest round of the day, a sparkling 64, and lies sixth.
Stone, who secured his maiden win at the 2016 BMW SA Open, reached the turn in 31 on day three after making birdies at the first, fourth, fifth and sixth holes.
After beginning his back nine with further gains at the 10th and 11th, Stone dropped a shot at the 12th, but notched a birdie at the next to return to 17 under.
Schwartzel, who has won this event four times, mixed six birdies with two bogeys in his third-round 68.