Australia, who won the toss and batted on an easy-paced pitch, were 225 for five when bad light ended play four overs before the second new ball was due.
With no assistance for the bowlers from a slow surface, South Africa bowled with discipline to keep the batsmen in check.
Apart from a bright third-wicket partnership of 56 off 92 balls between Warner (51) and Smith (56), it was largely attritional cricket between the second and third-ranked teams in Test cricket.
Vernon Philander bowled with excellent control to take two for 36, while left-arm spinner Keshav Maharaj took two for 69. It was an indication of the slowness of the pitch that Maharaj bowled 24 of the 76 overs sent down in the day.
Smith made his fifth consecutive score of 50 or more as he continued the form he showed in the Ashes series against England in which he scored 687 runs at an average of 137.40.
The Australian captain gave a half-chance on 47 when AB De Villiers at second slip could not hold a sharp, low catch to his left off Philander. He faced 114 balls and hit 11 fours in his innings.
He had made 24 off 44 balls in his partnership with Warner, who was caught at second slip off the last ball before lunch, but was restricted after the interval as the South African bowlers worked hard to force him to play on the off side instead of his favoured leg side.
Smith showed some signs of frustration before he cut a ball from Maharaj which bounced off wicketkeeper Quinton de Kock's gloves to De Villiers at slip.
Maharaj struck again when he switched ends after tea and with his fourth ball of a new spell had Shaun Marsh caught at slip for a patient 40.
Marsh had a let-off on 19 when a yorker from Kagiso Rabada struck him low down and would have hit his leg stump, according to television replays. Umpire Kumar Dharmasena gave him not out.
South Africa had used up both of their reviews -– also involving leg before wicket decisions by Dharmasena -– and could not challenge.
South African hopes of pressing home their advantage were foiled by Mitchell Marsh and Tim Paine, who added an unbeaten 48 before the umpires took the players off the field.
The home side claimed two early wickets, having Cameron Bancroft and Usman Khawaja caught behind, but Warner and Smith batted brightly before Philander came back into the attack just prior to lunch and had Warner caught by De Villiers at second slip.
Warner faced 79 balls and hit six fours.
David Warnerkeshav maharajKingsmeadMitchell Marshsouth africa vs australia 2018steve smithTim PaineVernon Philander
First Published: March 2, 2018, 8:30 AM IST