The Blitzboks were off the mark quickly with Siviwe Soyizwapi - already the all-time leading try-scorer in Singapore - dotting down in the first minute. Branco du Preez converted from a tight angle to put South Africa 7-0 up.
Play then moved from one side of the field to the other, as both sides attacked strongly without success.
A long, patient build-up by the Blitzboks got Stedman Gans over the line just before the break, for a 12-0 lead after the first half.
The USA were first on the board in the second half when Steve Tomasin scored, but from the restart, Impi Visser, ran 50 meters for a great try, which extended the South Africans' lead to 17-5.
Tomasin then turned villain as he slapped down a potential scoring pass by the Blitzboks, and a penalty try was awarded. The 24-5 lead was too big to overhaul, although Joe Schroeder pulled one back for the USA.
Fiji outplayed England in the other semi-final to set up a repeat of last night's Pool A decider, which the Blitzboks won.
“A big step up from last week”, @JustinGeduld after the Blitzboks convincing 24-12 win over @USASevensRugby in the Cup semi of @SgRugby7s @CastleFreeSA @FNBSA @ASICS_ZA @ASICSRugby pic.twitter.com/WoBB5DNh9j
— Springbok Sevens (@Blitzboks) April 14, 2019