The Atletico Madrid midfielder fired in a low strike from the edge of the box after substitute Rodolfo Pizarro's cutback, clinching the win on Thursday.
Mexico defender Carlos Salcedo had seen his second-half penalty saved as Canada goalkeeper Maxime Crepeau came up with some big stops.
The reigning champions had taken the lead with an Orbelin Pineda penalty on the stroke of half-time, but Canada levelled from Tajon Buchanan with a low 57th-minute finish.
Mexico will now have a shot to claim a 12th Gold Cup title when they tackle six-time champions the United States in Sunday's decider. El Tri have won four of the past six Gold Cup titles and qualify for the final for the 14th time.
Two-time winners Canada were chasing their first appearance in a Gold Cup final since 2000 but miss out.