After their hard-earned draw against France in midweek, England struggled to find any rhythm early on. They almost paid the price for their lacklustre start after only six minutes when a right-wing cross from Bradley August found Daniel Matsau unmarked in the area, but his shot was easily cleared.
A minute later, South Africa's Ashley Makhamya shrugged off two England challenges before unleashing a 25-yard shot which the England goalkeeper, Richard Wright, saved easily despite an awkward bounce.
Playing a back three, England's main thrust appeared down the right-hand side where they attempted to use the darting runs of the Ipswich wing- back, Kieron Dyer. England's first chance came when the Tottenham striker, Rory Allen, sliced open the South African defence with a pass to the captain, Frank Lampard, but his shot was palmed out by the goalkeeper, Emile Baron, who had to save at the second attempt. But England struck twice within a three-minute spell just before half-time.
England took the lead with a well-worked move down the left flank. A pass from Heskey found Alan Rogers, and the Nottingham Forest full-back pulled the ball back into the path of Lampard who coolly slotted the ball into the net.
On the stroke of half-time, England increased their lead through Heskey. A long, hopeful ball from Lampard was chased by Heskey, who bulldozed his way through the South African defence before delicately chipping over the advancing Baron.
England continued to take the game to South Africa in the second half and increased their lead after 10 minutes. Richard Wright fired a long ball into the South African half which fell perfectly for Heskey. The Leicester striker shrugged off Nkhipiteni Matombo's challenge and coolly fired the ball into the net. Immediately the two-goal hero was replaced by Marcus Bent.
England appeared to take their foot off the pedal and allowed South Africa to come back into the game. A cross from Bradley Carnell completely eluded the English defence and Glenn Salmon poked in from close range.
The game became very niggling as South Africa lost their discipline and a series of bookings culminated in the sending-off of Aaron Mokoena for a second bookable offence. The South African chopped Bent from behind and the Croatian referee had no hesitation in sending the player off.
On a hot afternoon, England used all their substitutes in an effort to conserve their energy for the all-important game against Argentina on Monday. This victory against the emerging South Africans has now put England in a commanding position to go through to the next stage of the competition.
"We made hard work of it," the England coach, Peter Taylor, said. "We didn't play as well as we would have liked. When we got the third goal we got a bit sloppy after the substitutions. But the players are very tired, but at least the result is what we wanted."
England U21: Wright; Dyer, Rogers, Curtis, Purse, Elliot, Carragher (Clegg 57), Oakley, Lampard, Heskey (Bent 57), Allen (Howe 70).
South Africa U21: Baron; Matombo, Booth (Motale, 57), Mokoena, Makhamya, Fredericks (Salmon 50), Mbuthu, De Weber, Carnell, Matsau, August.