Immelman, who won the $1.2 million first prize, finished at 16-under 272. Rose shot 73 after a double-bogey on the 18th at the Gary Player Country Club.
Ernie Els (72) was third at 11 under in the tournament he won three times. His round included five birdies, three bogeys and a double-bogey on the 17th.
The tournament came down to the last hole after Immelman's late stumble, starting with the 16th. The South African had a two-stroke lead going into the par-3 hole but he hit his tee shot over the green, left his chip short and two-putted.
Rose chipped his wayward tee shot close and got an easy par. He hit a poor drive on the 17th, but Immelman overshot the green, and ended up with yet another bogey while Rose scrambled a par to tie it.
On the 18th, Rose pulled his tee shot while Immelman set himself up perfectly in the middle of the fairway. Immelman's approach went long, and he needed two tough chips to get out of the rough around the green before putted for the title.
But Rose had already lost it, shooting a double-bogey 6 to leave himself one shot back.
'It's an event every South African golfer dreams of winning,' Immelman said. 'After the majors, it's the best tournament in the world for us.'
Immelman said the pressure got to him.
'When I duffed that chip on the 18th, I felt like throwing myself into the lake back there,' he said, joking.