Shaq Moore struck after just 20 seconds as the United States beat Canada 1-0 in Kansas City to clinch top spot in Group B at the Gold Cup.

The tournament hosts withstood late Canada pressure to preserve a 100 per cent record, following the 1-0 win over Haiti and 6-1 thrashing of Martinique.

Moore's winning goal saw him sidefoot home from close range after Sebastian Lletget's low cross from the left rolled across the six-yard box.

It was the USA's fastest goal in Gold Cup history, tournament officials said, and it was Tenerife defender Moore's first international strike.

Gyasi Zardes glanced a header wide of the right post as the United States sought a second early goal, and Daryl Dike fizzed a shot a yard off target after a low cross from the right.

Canada began the second half with purpose, Tajon Buchanan drawing an early save from New England Revolution team-mate Matt Turner, but an equaliser proved elusive.

Jonathan Osorio, Buchanan and Richie Laryea all tried their luck without reward, and a late 20-yard shot from Lucas Cavallini that skidded off the surface and into Turner's arms was Canada's last chance at Children's Mercy Park.

Gregg Berhalter's United States side advance to a quarter-final against the runners-up from Group C, to be played on July 25 in Arlington, Texas.

Canada, coached by John Herdman, remain alive in the competition despite this loss, and they advance as runners-up from Group B to face the Group C winners.

Jamaica and Costa Rica, both with six points from two games so far in Group C, are certain to progress. They go head to head in Orlando on Tuesday to decide who finishes top and faces Canada and who comes second in that pool and takes on the US next.