Alastair Forsyth posted a 4-under 68 to move into a share of second place. He was joined at 9-under-par 279 by Steve Webster, who shot a 71. Darren Fichardt finished two strokes behind that duo at 7-under-par 281.
Overnight co-leaders Anders Hansen and Craig Lile fell apart down the stretch. Hansen double-bogeyed the 16th and triple-bogeyed the 17th en route to a 4- over 76. He finished at 5-under-par 283. Lile quadruple-bogeyed the 17th and bogeyed the last to fall to 4-under-par 284 after a final-round 77.
With the win, Immelman becomes the first person since Gary Player to repeat as champion of this event. Player, a 13-time winner here, claimed back-to-back titles here in 1976 and 1977. Ernie Els was the last European Tour player to defend a title when he won the Heineken Classic in 2002 and 2003.
'Those guys are legends in South African sport and it is fantastic for me to have done something each of them has done,' said Immelman.
Immelman began the day two strokes behind the overnight leaders and did not get off to a good start. He stumbled to a bogey at the second at Erinvale Golf & Country Club.
However, he responded with back-to-back birdies from the third to climb to minus-8, three behind Hansen, who playing one group behind Immelman had eagled the par-5 second.
Immelman continued to climb the leaderboard with consecutive birdies from the seventh to get to 10 under. Around the turn, Immelman notched his fifth birdie of the day at the par-4 10th.
The South African then birdied the par-5 13th for the second straight day to get to 12 under and a share of the lead. Moments later, Hansen bogeyed the 12th and the lead was Immelman's.
Immelman extended his cushion with a birdie on No. 16 to climb to 13 under and a four-stroke cushion on the field. He stumbled to a bogey at the last for the third straight round dropping his winning margin to three shots.
'It is wonderful to win,' said the 24-year-old Immelman. 'I definitely feel I am a better player this year than I was last year. I have gotten stronger and have more control over my game and my timing has improved dramatically.'
Forsyth burst out of the gate with birdies on each of his first three holes and came back with birdies on the fifth and seventh to move to 10 under. After nine straight pars, he bogeyed the 17th before a par at the closing hole.
'I have been working on my game over the winter with my coach Ian Rae and I thought I might be a little rusty,' Forsyth said. 'But I was delighted to come out and shoot 4 under on day one and I just took it from there. I'm very happy.'
Webster bogeyed the first, but battled back to birdie the third and fifth. He later dropped a shot on No. 13, then came back to birdie the 15th for a 71.
'I am a little disappointed to have finished second to be honest because I did fancy my chances this week,' said Webster. 'But you have to take your chances when they arrive in this game and I didn't. That's golf.'
Hansen, who held a three-stroke lead after his birdie on the 10th, collapsed down the stretch. He bogeyed the 12th and 14th to fall to minus 10. Things took a turn for the worse as he double-bogeyed the 16th and triple-bogeyed the 17th to tumble to minus 5.
Lile, who was searching for his maiden European Tour victory, never got on track. He bogeyed the first, but settled down with 11th consecutive pars. He moved back to minus 9 with a birdie on the 13th.
Down the stretch, he stumbled too. He quadruple-bogeyed the par-4 17th and bogeyed the par-4 closing hole to fall into a share of 16th place.
David Carter posted a 4-under 68 to finish the event at 6-under-par 282. He shared fifth place with Marcus Fraser (70), Raphael Jacquelin (73) and Miles Tunnicliff (69).
Hansen was joined in ninth place at 5-under-par 283 by Titch Moore, Stephen Dodd, Brett Rumford, Stephen Scahill, Sven Struver and Nico Van Rensburg.