The Junior Boks cruised to a second big victory at the U20 World Championships in Italy with a 40-8 win over Samoa.
Saturday's triumph strengthens South Africa's grip at the top of Pool B with one game to play against Australia, finishing with five tries.
The Boks captalised on Samoa's struggling set-piece when a lineout went wrong and Sharks prop Thomas du Toit was on hand to go over from close-range.
That sixth-minute try came after fly-half Brandon Thomson had added an earlier penalty, meaning South Africa held a comfortable 10-0 lead after less than ten minutes.
With their scrum on top South Africa won a second penalty for Thomson to convert, but Samoa replied when Malu Falaniko created Samoa's first points with a long-range effort off the tee.
Using their lineout to full effect the Junior Boks crashed over with a try for Jason Jenkins, with Thomson adding another penalty to make it 21-3 to South Africa at half-time.
The maul was once again the source of South Africa's points when captain Hanro Liebenberg went over, and their scrum again proved to be too powerful as they racked up try number four.
A scrum against the head ended with the ball going wide through Thomson for Leolin Zas to score following an offload from Daniel du Plessis.
Samoa were now playing for pride and did pull a try back through the replacement Pisi Leilua after some brilliant handling.
But this was South Africa's day, as they capped off their victory with a penalty try before full-time after more dominance at the scrum in a 40-8 win.
For South Africa:
Tries: Du Toit, Jenkins, Liebenberg, Zas, Penalty Try
Cons: Thomson 2, Beer
Pens: Thomson 3
South Africa: 15 Warrick Gelant, 14 Grant Hermanus, 13 JT Jackson, 12 Daniel du Plessis, 11 Leolin Zas, 10 Brandon Thomson, 9 Ivan van Zyl, 8 Hanro Liebenberg (c), 7. Jean-Luc du Preez, 6 Dan du Preez, 5 RG Snyman 4 Jason Jenkins, 3 Thomas du Toit, 2 Joseph Dweba, 1 Ox Nche.
Replacements: 16 Jan van der Merwe, 17 Mzamo Majola, 18 Frans van Wyk, 19 Hyron Andrews, 20 Jacques Vermeulen, 21 Marco Jansen van Vuren, 22 Tinus de Beer, 23 EW Viljoen.
Samoa: 15 Chase Tiatia, 14 Johnny Samuelu, 13 Jonathan Faauli, 12 Josh Ioane, 11 Malu Falaniko, 10 Orbyn Leger, 9 Jonathan Taumateine, 8 Josh Dowsing, 7 Uini Fetalaiga, 6 Jordan Jackett, 5 Ben Tuiomanufili, 4 Giovanni Kuefner, 3 Marco Fepulea'i, 2 Ieremia Mataena, 1 Jarred Adams
Replacements: 16 Kemble Frost, 17 Junior Halafuka, 18 Mike Tamoaieta, 19 Ezra Meleisea, 20 Darren Tiumalu, 21 Melani Matavao, 22 Pepesana Patafilo, 23 Pisi Leilua