Andrea Pirlo and Mario Balotelli were on target as Italy put an end to Mexico's 13-match unbeaten streak to bag three points in the opening game of their Confederations Cup campaign on Sunday.
Italy, who themselves have now gone seven games without defeat, took the lead on 28 minutes when Pirlo celebrated his 100th senior international appearance with a goal.
Pirlo dispatched a fantastic free kick into the top corner of Jose de Jesus Corona's net from 25 yards.
However, that lead lasted just 10 minutes before Mexico levelled from the penalty spot.
Javier Hernandez converted the spot kick with expert precision after Andrea Barzagli had brought down Giovani dos Santos.
Pirlo twice came close to reestablishing his side's lead in the second half before Balotelli finally struck the decisive blow with 12 minutes remaining.
The former Manchester City forward showed great strength and composure as he fired home powerfully from 14 yards.
Italy now sit second in Group A behind Brazil on goal difference, after the hosts overcame Japan 3-0 on Saturday.