Fisher's seven under par round of 65 moved the Englishman to 13 under par, one stroke clear of Denmark's Morten ÃƒÂ˜rum Madsen, who continued his impressive run of form on South African soil.
Fisher, a member of Europe's Ryder Cup team in 2010, opened with a birdie but then had to stay patient as eight straight pars followed.
A further gain at the tenth hole ignited a tremendous run of scoring, with a pitch to within a foot of the pin at the 13th resulting in a third birdie of the day.
The 33 year old then holed a curling 40 footer for eagle at the 13th hole, before birdieing the 16th from ten feet and picking up a fourth shot in three holes with a 15 footer at the next.
He said: "That back nine was pretty special. Any time you come home in 30, it is obviously very pleasing. To see the ball going in yesterday and holing some nice putts today gives me a lot of confidence, and it all bodes well for a good weekend.
"I haven't won for a few years, even though I've been playing well. I've had chances, but the putter has let me down for quite some time now. So it's good that I'm finally starting to turn things round on the greens now."
Madsen, who opened his European Tour account in the South African Open Championship at the start of the season, carded seven birdies in a flawless second round of 65 at Copperleaf Golf & Country Estate to reach 12 under par for the week.
The 25 year old, who flew out of the blocks with four gains in his first five holes, turned in 31 and, after a quiet spell in the middle of his round, picked up further shots at the sixth and seventh.
A closing bogey looked to be on the cards after an errant drive, but Madsen produced a brilliant pitched to a foot to salvage par.
He said: "It's always good to see your name up there on the leaderboard, and that's what we play for. I practice to put myself in that position, so to have a chance at the weekend is something I really cherish."
England's Simon Dyson maintained his bid for a seventh European Tour title with a second round of 68 for an 11 under par aggregate total.
The 36 year old held the clubhouse lead overnight thanks to completing a seven under par 65 shortly before an approaching thunderstorm forced the players off the course, with play later abandoned for the day.
South African Trevor Fisher Junior was also seven under with two holes of his first round to play, and although he bogeyed the first of those when play resumed on Friday morning, a birdie on the 18th saw him join Dyson at the top of the leaderboard.
Both players were then soon back in action for round two, and Dyson carded six birdies and two bogeys to join Spain's Carlos Del Moral in the clubhouse on 11 under par, one ahead of Fisher Jnr after his second round of 69.
Fisher Jnr's compatriots Darren Fichardt and Jake Roos joined him on ten under par as they looked to claim a sixth win for home players from the eight European Tour events staged in South Africa this season.
Scores (RSA unless specified):
131 - Ross Fisher (ENG) 66 65
132 - Morten Orum Madsen (DEN) 67 65
133 - Carlos Del Moral (ESP) 68 65, Simon Dyson (ENG) 65 68
134 - Darren Fichardt 66 68, Trevor Fisher Jnr 65 69, Jake Roos 69 65, Michael Hoey (NIR) 69 65
135 - Gaganjeet Bhullar (IND) 70 65, Edoardo Molinari (ITA) 70 65, Chris Wood (ENG) 67 68
136 - Danie van Tonder 66 70, Hennie Otto 71 65, Jean Hugo 68 68
137 - Oliver Bekker 70 67, Jaco Ahlers 71 66, Kevin Phelan (IRL) 68 69, Justin Harding 70 67