The Boks took an early 7-0 lead when Cecil Afrika continued to build on his impressive points scoring, but they lost star sweeper Renfred Dazel to injury.
Halfway through the first half Dazel was on the receiving end of a huge hit from Miles Craigwell and was stretchered of the field.
In a repeat of last year's trip to the desert, Paul Treu's squad next face Australia in the plate final.
The Springboks lost that match 7-0 in 2009 and also went down 19-14 in Friday's pool match against the Aussies.
Against the US, Afrika scored his second try before the break and at 12-0 the Boks were again in control of proceedings.
A well executed move, preceded by a calm build-up, allowed skipper Kyle Brown to extend his team's lead to 19-0.
Unlike in previous matches, the Boks managed to hold onto the lead, despite letting the United States in for two tries of their own.
Mark Richards scored the try which increased the highest score the Boks have made at the desert tournament thus far, from 19-24.
Scorers:
24(12): Springboks: Tries - Cecil Afrika (2), Kyle Brown, Mark Richards. Conversions – Afrika (2) United States: 10 (0) Tries - Miles Craigwell, Roland Saniula.