The Proteas, when bad light forced an early close on the second day, were 322 for four in reply to England's 203, a lead of 119.
Prince was 134 not out, following his 101 in the first innings of the drawn first Test at Lord's, and AB de Villiers 70 not out.
Their unbroken stand for the fifth wicket was worth 179 after they'd come together at 143 for four.
England took the new ball soon after it became available but Prince's response was to drive fast bowler Andrew Flintoff, appearing in his first Test for 18 months because of injury, down the ground for four to go to 99.
A single off Flintoff's fellow Lancashire quick James Anderson then saw vice-captain Prince complete his ninth Test hundred and second against England off 194 balls with two sixes and 11 fours.
South Africa resumed after lunch on 158 for four, with Prince 34 not out and de Villiers seven not out on a placid pitch favouring batsmen.
After 58 overs of an all-seam attack, England captain Michael Vaughan eventually brought on left-arm spinner Monty Panesar, whose 60 overs in the second innings at Lord's failed to yield a wicket.
And his first few overs in Leeds were hardly more rewarding with Prince driving him for a straight six to complete his fifty.
Prince repeated the dose before de Villiers swept Panesar for four.
Left-hander Prince was equally assured against England's quicks, driving the tall Stuart Broad off the front-foot to the extra-cover boundary.
And when shock debutant Darren Pattinson bowled a long hop, Prince punished him with a pulled four.
Pattinson had earlier taken his first Test wicket, the only one to fall so far on Saturday, in the morning session after South Africa started the day on 101 for three.
The Australia-raised pace bowler, in for injured Nottinghamshire colleague Ryan Sidebottom, had the dangerous Hashim Amla, who like Prince made a hundred at Lord's, lbw for 38.
Former roof tiler Pattinson, who turns 30 next month, was born in the English east coast fishing town of Grimsby but was brought up in Australia.
He only made his senior debut for Australia state side Victoria last year and came into this Test on the back of just 11 first-class matches.
Pattinson, who joined Nottinghamshire at the start of the season, caught the attention of the selectors with 29 first-class wickets in six matches this term for the Midlands county at 20.86 apiece.
The fourth seamer deployed by Vaughan on Saturday, Pattinson struck when a full-toss hit Amla on the front pad.
It was a tight call for Australian umpire Daryl Harper, with television replays suggesting the ball would have missed leg-stump but he eventually raised his finger to give Pattinson a moment to cherish.