Chelsea midfielder Christian Pulisic scored an extra-time winner for the United States in a dramatic Concacaf Nations League final against Mexico.
The US twice came from behind to force extra time and the 22-year-old converted a penalty to win the title.
The penalty was only awarded after a lengthy VAR consultation during which Mexico coach Gerardo Martino was sent off for confronting the referee.
Mexico then had a penalty saved late on by substitute keeper Ethan Horvath.
“I’m kind of speechless to be honest,” Horvath said after the inaugural final.
“If you’re on the bench as a keeper you don’t expect to come in the game.
“It’s just a whole bunch of emotion. It’s a special moment for me in my hometown of Denver.”
The Nations League tournament was created for teams in North America, Central America and the Caribbean and will be played every two years.
Played at Denver’s Empower Field, the final saw a goal in the opening minute through Mexico’s Jesus Corona before Giovanni Reyna levelled things up.
Diego Lainez put Mexico back in front only for his goal to be cancelled out late on by Weston McKennie’s header to take the game into extra time.
The two sides remained deadlocked going into the second period of added time.
Pulisic, who joined up with the United States squad straight after winning the Champions League with Chelsea, won the penalty himself, going down in the box under a challenge by two Mexico defenders.
Referee John Pitti initially opted against awarding a penalty but it was given after the lengthy VAR process that also saw Martino sent off. Some fans then threw projectiles towards the pitch but, unperturbed, Pulisic smashed the ball into the top corner when play resumed.
Mexico still had a chance to level six minutes later when they were awarded a penalty following Mark McKenzie’s handball, but Horvath saved well from Andres Guardado.
USA next play Costa Rica in friendly on Wednesday.