South Africa were 358 for five at lunch, adding only 75 runs in 27 overs during the morning for the loss of two wickets.
JP Duminy made 88 off 158 balls, with 13 fours, before he was caught behind off Tim Southee, getting a faint edge to an attempted pull against a bouncer.
Temba Bavuma also fell to a short ball, top-edging a pull against Neil Wagner to be well caught by Doug Bracewell, running in from fine leg, for eight.
He reached his fifty off 130 balls when he pulled Wagner for his fifth four. Southee and Boult set the tone for an attritional morning when they bowled testing spells of eight and seven overs respectively, although Southee's dismissal of Duminy was their only reward.