As soon as he reached the career landmark which took the total past 500, Rory Kleinveldt declared the innings at 504/8.
At the close the visitors reached 169/3 to cut the deficit to 335 runs.
De Bruyn's innings was mostly off boundaries (202 off 275 balls, 30 fours).
It was his second first-class century with his first having come on debut less than a year ago for Northerns against Namibia in Windhoek.
This is only his 10th first-class match and he has already made 908 runs at an average of 53.4.
Liam Plunkett (4/91 in 26 overs) and Mark Wood (2/99 in 30), who shared 6 of the 8 wickets to fall between them, were the pick of the England attack.
England started their reply well as they hit 11 boundaries in the first 9 overs taking the total past 50 with Sam Robson, the current England Test incumbent opening batsman, being the main contributor.
The South Africans gradually got into the contest with Kleinveldt and Morris taking three wickets between them. It should have been four as Jonathan Trott was dropped behind the stumps with Ryan McLaren only on seven runs.
With three wickets down for only 67 at the end of the 14th over England needed some consolidation which was provided by Trott and James Vince. They added 50 runs for the fourth wicket off 145 balls with four boundaries.
While Trott continued to play the anchor role, Vince started to flourish, hitting a succession of classy drives to the boundary. Trott reached his half-century off 108 balls (6 fours). The 100 partnership followed off 205 balls with the second 50 coming off only 60 balls.
Source: Sapa