Jamaica gained some revenge for their loss to Mexico in the 2015 CONCACAF Gold Cup final by claiming a stunning 1-0 win over the defending champions.
The Jamaicans advanced all the way to the final two years ago but were outclassed 3-1 by Mexico in the decider.
However, Jamaica went some way to avenging that defeat thanks to Kemar Lawrence's outstanding 88th-minute free-kick on Sunday.
After Jamaica goalkeeper Andre Blake produced a masterclass to thwart Mexico throughout in Pasadena, California, Lawrence stepped up and curled a set-piece past Jose Corona.
Jamaica will now meet hosts and five-time champions the United States in the tournament final in Santa Clara on Wednesday.
Mexico – with suspended head coach Juan Carlos Osorio watching in the stands – have rotated throughout the tournament but they only made two changes to the team that beat Honduras 1-0 in the quarter-finals. Erick Torres and Erick Gutierrez came into the starting XI as Angel Sepulveda and Jesus Gallardo dropped out.
There was just one change for Jamaica, who overcame Canada 2-1 in the last eight. Ladale Richie replaced Kevon Lambert.
Mexico and Jamaica played out a dour goalless draw in the group stage but this was a far more eventful clash as Blake produced a stellar first half to keep the scores level.
After a cagey opening, Blake pulled off a stunning double save to deny Jesus Duenas and Torres in the 12th minute.
A low shot from Duenas, which took a wicked deflection, forced Blake into a fine block with his legs before stepping up to thwart Torres.
As Jamaica struggled to create anything in attack, Blake was kept busy as the Philadelphia Union goalkeeper somehow stopped a Torres header from point-blank range.
Mexico continued to dominate but Jamaica almost snatched the lead seven minutes before half-time. Jermaine Taylor's audacious long-range free-kick almost found the back of the net but Corona fisted the ball away for a corner.
Jamaica were much more threatening in the second half as Darren Mattocks almost weaved past three defenders en route to goal.
The counter-attacking system that proved so effective against Canada almost put Jamaica ahead but Ricardo Morris' effort was too tame and straight at Corona approaching the hour-mark.
Blake made another save in the 65th minute, albeit routine to push away Gallardo's free-kick.
Jamaica had another opportunity to take the lead but Corona scrambled to palm away Damion Lowe's goal-bound header with 13 minutes remaining.
But Jamaica were not to be denied at the death as Lawrence fired his team into a second successive Gold Cup final.