Striker Edson Buddle opened the scoring in the fourth minute with a well placed drive past Australian Mark Schwarzer's outstretched left arm and the US, who play England in their opener next Saturday, looked the stronger team for most of the first half.
Tim Cahill levelled the scores on 19 minutes against the run of play, and Schwarzer kept matters even with a good save from Fulham team mate Clint Dempsey after a slick passing move by the US from inside their own half.
But he could not stop Buddle's headed second just after the half-hour and substitute Herculez Gomez sealed the victory in time added on.
Switzerland and Italy warmed up for the World Cup with a run-of-the-mill 1-1 friendly draw when the holders played Andrea Cossu from the start despite the midfielder not being in their official squad.
The hosts were roared on by a noisy Geneva crowd and took the lead in the 10th minute when Udinese midfielder Gokhan Inler fired the ball in at the near post from 20 metres with goalkeeper Federico Marchetti exposed.
Italy hit back five minutes later when striker Fabio Quagliarella, who surprised pundits by being named in the World Cup squad, looped in a header off the far post.
Visiting coach Marcello Lippi, whose strongest team lost 2-1 to Mexico on Thursday, played mostly a second string side and included Cossu for the first half given Andrea Pirlo and Mauro Camoranesi could pull out of the tournament through injury.
Switzerland's Valon Behrami limped off and Italy's Angelo Palombo was in visible pain after suffering a knee injury.
Host South Africa continued their good run of form with Katlego Mphela getting the only goal in a 1-0 win over Denmark.
Netherlands' winger Arjen Robben will undergo a scan on his hamstring which will determine his World Cup hopes after picking up the injury in a 6-1 friendly thrashing of Hungary in Amsterdam (see link under picture for more on Robben).
Until Robben's injury scare, prospects ahead of the June 11-July 11 finals only looked bright for the Dutch who had surprisingly conceded a sixth minute lead to the Hungarians through Balazs Dzsudzsak.
Good work from Dirk Kuyt earned Robin van Persie a 21st minute equaliser and Netherlands really hit their stride after the break with second-half sub Robben and Wesley Sneijder, Mark van Bommel and Eljero Elia all on target.
Slovakia's World Cup defender Martin Skrtel suffered an ankle injury on Saturday in a 3-0 friendly win against Costa Rica but he will be fit for the finals in South Africa after a scan showed no serious damage.
An own goal from Douglas Sequeira gave the Slovaks the lead before Robert Vittek doubled their advantage in Bratislava dust after the break. A late penalty from Stanislav Sestak sealed the win.
Ghana won their final World Cup warm-up match 1-0 against Latvia, thanks to an 89th-minute strike from Quincy Owusu Abeyie, in a match that took place in Milton Keynes.
England's Group C rivals Algeria again failed to impress, as they needed a Karim Ziani penalty to beat UAE 1-0 in a friendly in Germany.
Honduras's poor pre-tournament form continued as they were thrashed 3-0 by Romania in Austria. Daniel Niculae, Gheorghe Florescu and Mirel Radoi got the goals.
Serbia and Cameroon played out a goal-fest in Belgarde with the home team enjoying a 4-3 victory.
Six of the goals came in the first-half, with Milos Krasic (16), Dejan Stankovic (25), Nenad Milijas (44pen), Marko Pantelic (45) putting Serbia 4-2 in front, with Pierre Webo (5, 20) getting both of Cameroon's first-half strikes.
Eric Choupo-Moting (67) added a third but Serbia hung on for the win.
FIFA organisers have also chosen Uzbekistan's Ravshan Irmatov to referee the opening World Cup match between South Africa and Mexico at Soccer City in Johannesburg.