Matthew Hoppe scored the go-ahead goal on a header after taking a cross from Cristian Roldan in the 83rd minute for the US.
The US will next face reigning Asian champions Qatar in the semis on Thursday.
In the earlier game in Texas, short-handed Canada also punched their ticket to the semis after a dominating 2-0 victory over Costa Rica.
The Americans won Group B over runner-up Canada despite some inconsistent play, winning all three games. Jamaica finished second in Group C with a 2-0-1 record with their lone loss coming against Costa Rica.
This was the toughest test of the tournament for the Americans, who have struggled to score and lacked cohesion heading into the knockout round.
The tournament lost much of its impact when the US decided to field a young inexperienced squad. Most of the Americans play in the Major League Soccer (MLS) where players can make as little as $60,000 a year.
In the earlier game, David Junior Hoilett scored to make it 1-0 in the 18th minute by running onto a long ball and lobbing a shot over Costa Rica goalkeeper Esteban Alvarado as Canada reached its first semi-final since 2007.
Stephen Eustaquio scored Canada's second goal after a run in the box, finding the ball and blasting it into the back of the net to make it 2-0 in the 69th minute.
Canada was missing key forwards Cyle Larin and Ayo Akinola, who suffered injuries in their group game against the US.
The Canadians will face defending champion Mexico on Thursday in Houston for a spot in the final.