Mexico substitute Andres Guardado netted twice in the second half to secure a 3-1 victory for El Tri against Canada in the second round of games in Group A of the Gold Cup.
Roberto Alvarado had opened the scoring at Broncos Stadium in Denver five minutes before half-time, with Lucas Cavallini netting for Canada in the 75th minute, two minutes before Guardado made it 3-1.
Canada put up stern resistance for much of the game in a far tougher test for El Tri than last Saturday's 7-0 win over Cuba in Los Angeles.
The result means Mexico is qualified for the quarterfinals of the tournament, unless there is a bizarre set of result in the final match day in Charlotte on Sunday, when Canada plays Cuba and Mexico faces Martinique.
Alvarado's goal came when it looked like Mexico was getting frustrated, as highlighted by a heated argument between Mexico's Gerardo "Tata" Martino and Canada coach John Herdman on the sidelines.
"He made a joke and I just answered, I'm not sure what it was because it was in English," Martino quipped after the match.
Herdman also downplayed the back-and-forth as a simple misunderstanding.
"He is a great coach," Herdman said of Martino. "I don't speak Spanish. I think he was asking how my new role was going. Said, 'Yeah, it's going well.' I asked him if he's enjoying his role."
- CONCACAF Gold Cup: All you need to know
- Full Gold Cup fixtures schedule
The victory, in front of 52,874 fans, gives Martino six wins from his six games in charge of Mexico so far.
Mexico had 72 percent possession in the first half, but was largely restricted by Canada to a couple of chances, with Jonathan dos Santos going closest with a volley in the 29th.
The first half was slightly marred for Mexico with an injury to Erick Gutierrez, who was replaced by Guardado in the 36th.
Guardado's influence quickly showed itself and the Mexico captain added El Tri's second from 25 yards in the 54th with a memorable goal, although one minute earlier Canadian teenager Alphonso Davies pounced on a loose ball and got past Diego Reyes inside the area, but could only shoot wide.
Canada continued to put up a fight and got back into the game when Cavallini tapped in, after a mistake from Nestor Araujo allowed Jonathan David to charge through on goal and pass square to the Puebla striker.
But Mexico responded immediately through Guardado, with LA Galaxy right-winger Uriel Antuna setting him up after a mazy run down the flank.
Mexico travels to Charlotte on Thursday ahead of Sunday's game against Martinique.
Earlier Wednesday, Martinique defeated Cuba 3-0 to remain in contention for a place in the quarterfinal.