Substitute Haji Wright was the hero once more as the United States defeated Jamaica 3-1 in extra-time to reach the final of the CONCACAF Nations League in Texas on Thursday.

Striker Wright -- who scored an injury-time winner for Coventry City in an upset English FA Cup win over Wolves on Saturday -- struck twice in extra-time for the defending champions at the AT&T Stadium.

The hard-fought victory set up a final on Sunday against Mexico, who beat Panama 3-0 in the night's other semi-final.

Wright was only drafted into the US squad by coach Gregg Berhalter on Sunday after Norwich City forward Josh Sargent was a late withdrawal with an ankle injury.

However the 25-year-old from Los Angeles delivered a crucial match-winning cameo after coming on as a 63rd-minute substitute for Timothy Weah.

Wright tucked away his first goal on 96 minutes, latching on to a deft pass from fellow substitute Gio Reyna to shoot low past Jamaica goalkeeper Andre Blake.

The striker then gathered another superb assist from Reyna to notch his second in the 109th minute and make it 3-1.

"Grit and determination -- it wasn't a good start for us at the beginning of the game, but we found our way back and then came away with a two-goal lead at the end," said Wright.

"The start of my season wasn't so great so I just had to keep pursuing and trusting in my abilities and trying to do what I do best."

Reyna was determined to seize his chance after being left out of the starting XI.

"As a group we pride ourselves on being ready when they're ready -- and Haji and I were both ready tonight," Reyna said. 

"We just tried to create stuff, and luckily he made two great runs and I was able to find him. But he did the tough part and put them away."

Controversial equaliser

It was a cruel defeat for Jamaica, who had led 1-0 from the opening minute of normal time until conceding a controversial equaliser with what turned out to be the last kick of stoppage time after 90 minutes.

US defender Miles Robinson flicked on a corner and the ball cannoned off Jamaica substitute Cory Burke into the net to make it 1-1.

The equaliser was tinged with controversy, with the goal coming in the sixth minute of stoppage time. Moments earlier, match officials had signalled four minutes of time added on, which was then changed to five minutes without explanation.

Jamaica went into Thursday's semi-final fielding a vastly depleted starting line-up due to injuries and suspensions to several key players.

English Premier League contingent Michail Antonio, Ethan Pinnock and Amari'i Bell were all missing through injury, while Aston Villa forward Leon Bailey was dropped for disciplinary reasons.

Former Everton striker Demarai Gray and Shamar Nicholson were also suspended.

Yet for long periods it appeared as if Jamaica had done enough to pull off a stunning upset despite the US dominating possession and territory for long periods.

Greg Leigh headed Jamaica into the lead after just 30 seconds, with Bobby DeCordova-Reid pouncing on an error by US defender Antonee Robinson before crossing to the Oxford United defender, who outmuscled Joe Scally to nod home.

The US laid siege to the Jamaican goal, carving out chance after chance only to be frustrated by dogged defending.

But the introduction of Reyna after half-time instantly gave Berhalter's side a more threatening dimension, and the move paid off with two superb assists.