It was Jamaica's first victory in 19 meetings with Team USA. Jamaica jumped to the top of Group A after three games in what will be a six-game round-robin tournament.
The top two teams from the group will move on to the final round of North American qualifying for the 2014 World Cup in Brazil.
Jamaica has seven points while the United States has four. The other two teams in the group -- Guatemala and Antigua and Barbuda -- have one point each in two games.
The Americans will host Jamaica next Tuesday in Columbus, Ohio.
Clint Dempsey put the Americans in front just 40 seconds into the match and it appeared the United States would improve on what had been a 10-0-8 record against Jamaica.
Kyle Beckerman, however, tied it for Jamaica in the 24th minute and Shelton hit the game-winner by sending his free kick over the wall and inside the left post.
In another North American qualifying match Friday, Canada pulled off a 1-0 win over Cuba to take the lead in Group C. Canada has seven points to six for Panama, four for Honduras and none for Cuba. All four teams have played three games.
Couple mistakenly served bag of cash at McDonald's drive-thru
Kate Middleton recycles dress at movie premiere