Brazil failed to hit their straps and looked a pale imitation of the side that defeated Croatia 3-1 in the tournament opener, although Mexico goalkeeper Guillermo Ochoa made a series of good saves to keep the hosts out in a fantastic individual performance.
Mexico obviously had not read the script as they took the game to a stuttering Brazil, whose best effort came through a Neymar header which was saved on the line shortly before the break.
Mexico did not create as many chances but they did go close, most notably when Hector Herrera flashed a strike narrowly over the bar. The result leaves both sides on four points in the group, with one game each left to play.
Fred, who was largely ineffective and was replaced by Jo midway through the second half, set the tone for what proved to be a largely frustrating match as he saw his early effort hit the side-netting. Brazil were again left empty-handed shortly afterwards when Paulinho was unable to control Marcelo’s cut-back from the left bye-line.
Brazil were, however, in control of the ball in midfield despite being unable to find an early breakthrough, although Fred did not help their cause as he was caught offside three times in quick succession.
Mexico striker Oribe Peralta then tested the Brazil defence with a burst into the box from the right wing, but a combination of Thiago Silva and Marcelo halted the attack.
Mexico were unlucky not to be awarded a corner kick after Herrera’s blazing shot was touched by Brazil keeper Julio Cesar on its way over the bar.
Brazil went agonisingly close on the counter-attack with Paulinho unable to get on the end of Neymar’s cross before Mexico goalkeeper Ochoa denied the Barcelona striker’s header on the line after Dani Alves sent a testing ball into the six-yard box. Neymar then saw Ochoa claim his corner kick as Mexico held firm against the home favourites.
Marcelo got a shot away from range with Neymar lurking on the edge of the box, but it flashed wide of the post as the sides went in deadlocked at 0-0 at half-time.
Bernard came on for Ramires at the start of the second half and he came close to setting up Neymar with a wicked cross after Alves fired a fantastic long ball up the right flank. Neymar was unable to finish it off, though, and another chance went begging for Brazil.
Mexico then seemed to take something of the upper hand as they mounted several attacks, with Herrera again shooting over Cesar’s bar as Brazil’s defending left a lot to be desired.
Neymar sent another free-kick whistling past Ochoa’s post from 30 yards just after the hour-mark as the frustrations continued to grow amongst the partisan crowd, who were expecting Brazil to dominate their Central American opponents.
Ochoa made another good stop to deny Neymar in a goalmouth scramble before Brazil started to liven up as the second half progressed, with Bernard and Neymar getting the ball quickly to Jo, who flashed a strike across the face of goal.
Thiago Silva could be considered fortunate to escape with only a yellow card when he hacked down Javier Hernandez but luckily for the Brazil defender a wasteful free-kick let his side off the hook in a dangerous position.
Jo was almost played in by an inch perfect through ball by Neymar, but the excellent Ochoa rushed off his line to claim it and halt the promising attack.
Ochoa again was the thorn in Brazil’s side with a fantastic reaction save to keep out Thiago Silva’s header from Neymar’s 85th-minute corner.
As the clock ticked down, Brazil had calls for a penalty waved away when Marcelo went down easily in the box before Mexico won a corner with a minute remaining.
Nothing came from the set piece but Andres Guardado landed the ball on the roof of Cesar’s net in another agonisingly close shot before Raul Jimenez forced a save from the Toronto FC goalkeeper.
Brazil: Julio Cesar, Dani Alves, Thiago Silva, Luiz,Marcelo, Paulinho, Gustavo, Ramires (Bernard 46), Oscar (Willian 84), Neymar, Fred (Jo 68).
Mexico: Ochoa, Aguilar, Rodriguez, Marquez, Moreno, Layun, Herrera (Fabian 76), Vazquez, Guardado, Giovani (Jimenez 84), Peralta (Hernandez 73).