Dos Santos opened the scoring in the 21st minute when he picked up a pass from Pablo Barrera, beat Brazilian defender Danilo and cleverly lobbed his shot over Santos goalkeeper Rafael.
The Tottenham Hotspur forward then turned provider for Mexico’s second goal, taking advantage of a defensive mistake before being fouled by Juan inside the box. Hernandez made no mistake from the resulting spot-kick with a powerful right-footed finish.
Brazil tried to hit back, but superstar Neymar was well marked by Severo Meza and Carlos Salcido while Hulk and Leandro Damiao could not find much space either. Mexico goalkeeper Jesus Corona was called upon just before half-time to keep out a long-range effort from Oscar as Brazil tried to find a way through, but they still trailed by two goals at the break.
In the second half, Brazil coach Mano Menezes sent on attacking reinforcements in the form of Alexandre Pato and Lucas Moura but still Mexico held firm. Brazil’s best efforts were a powerful cross-shot from Bruno Uvini and a shot from distance by Neymar that was saved by Corona.
Mexico had a chance to increase their lead in the 77th minute following a counter attack, but Hernandez was denied by Rafael.
The victory completed an unbeaten three-game tour of the United States for Mexico as they also claimed wins over Wales and Bosnia-Herzegovina as they prepare to begin their World Cup qualifying campaign on Friday against Guyana.
For the young Brazil side, who is preparing for the upcoming Olympics in London, this was only their third game together and the first time they have found itself trailing in the game.