Captain Graeme Smith struck seven fours in his 41 not out, with Alviro Petersen unbeaten on 27 as the Proteas pressed home their advantage in Johannesburg.
With the hosts having posted 253 on day one of the first Test - all-rounder Jacques Kallis the only player to reach the fifty mark - Pakistan looked to be heading into day two with the upper hand. But Dale Steyn ripped through the Pakistan battling line-up today, finishing with amazing figures of six for eight from 8.1 overs.
Azhar Ali (13) and captain Misbah-ul-Haq (12) were the only visiting batsmen to make double figures.
Smith opted not to enforce the follow-on, meaning the hosts started their second innings with a commanding 204-run lead.