South Africa will need 272 to win the second ODI, and the series, against Australia in Bloemfontein on Wednesday evening.
On a ground where teams batting first have averaged a staggering 311 in the last six ODIs at the Mangaung Oval, it is a score that the hosts will be pleased with after skipper Quinton de Kock lost the toss.
SCOREBOARD: Proteas v Australia, 2nd ODI
There was a superb return of 6/58 (10) from Lungi Ngidi, who became just the second South African after Makhaya Ntini to take six wickets against Australia in ODI cricket.
All of the Australia top order with the exception of Steve Smith (13) and Marnus Labuschagne (0) made contributions, but nobody could take the game away from a Proteas bowling attack that was accurate and patient.
Whenever it looked like the Australians were about to drive ahead in the contest, South Africa picked up a wicket and many of them came as a direct result of building up pressure through dot balls.
The opening stand of 50 between David Warner (35 off 23) and Aaron Finch (69 off 87) came up inside seven overs, but Ngidi then had Warner caught at cover and took all of the first three wickets to get his side back in it.
De Kock used just five bowlers and all were impressive, with allrounder Andile Phehlukwayo (1/44 in 10) the most economical.
Spinners Keshav Maharaj (0/53 in 10) and Tabraiz Shamsi (1/54 in 10) also bowled well on a wicket that was taking turn, and that will give Australia some encouragement given that they have also fielded two spinners in Adam Zampa and Ashton Agar.
Darcy Short (69 off 83) and Mitch Marsh (36 off 45) shared a 66-run stand for the fifth wicket, but they both got stuck somewhat as the South African bowlers, and Phehlukwayo in particular, put the squeeze on.
Australia tried to finish with a flurry, but Ngidi and Anrich Nortje (2/59 in 10) were far too good for the lower order with the hosts eventually bowled all out for 271 on exavtly 50 overs.