Mexico defeat rusty Italy
The world champions, whose previous match was a 0-0 draw with Cameroon in March, started brightly with Vincenzo Iaquinta heading against the bar in the third minute, but the harrying Mexicans then took over with far neater play.
The lively Giovani Dos Santos found Carlos Vela unmarked in the Italian penalty area and the Mexican striker comfortably scored in the 16th minute.
Veteran Cuauhtemoc Blanco chipped over the Italian defence for Alberto Medina to settle the match in the 83rd minute.
Substitute Leonardo Bonucci pulled one back for Italy in a goalmouth scramble three minutes from time.
"I don't think we could have met a worse team today," said Italy coach Marcello Lippi, explaining that his team had only just completed 10 days altitude conditioning and were not fully match fit.
"There are no alarm bells... We need to get fit gradually and peak at the right time. It's true I expected to see us better prepared physically," he told a news conference.
"I know these players very well, I'm not sad at all. It's important to be in the right condition in 10 days or so."
Italy, who take on Switzerland in their final friendly on Saturday, start their Group F campaign against Paraguay on June 14. Lippi plans to give the rest of his squad a game against Switzerland.
Mexico, who lost to England and the Netherlands in friendlies last week before thrashing Gambia 5-1, will play the opening match of the World Cup against hosts South Africa in Group A next Friday.
Mexico coach Javier Aguirre said his team still needed to work on defence, having let in seven goals in four matches, and should not be complacent after beating the World Cup holders.
"The result is less important than what we have shown today. You can see in the changing room. They are serene, quiet and happy with the outcome," he said.
"I'm happy with the result, but I think we should be scoring more goals and letting fewer in," he added.