Brazil looked a pale imitation of the side that defeated Croatia 3-1 in the tournament opener, although Mexico goalkeeper Francisco Ochoa made a series of good saves to keep the hosts out in a fantastic individual performance.
Mexico took the game to a stuttering Brazil, whose best effort came through Neymar’s 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, in the main, a disappoint encounter when 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.
Mexico striker Oribe Peralta 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.
Goalkeeper Ochoa then denied Neymar’s header on the line after Dani Alves sent a testing ball into the six-yard box.
Bernard came on for Ramires at the start of the second half and he went close to setting up Neymar with a wicked cross, but the forward was unable to finish.
Ochoa made another good stop to deny Neymar in a goalmouth scramble before, at the opposite end, Silva was fortunate to escape with only a yellow card when he hacked down substitute Javier Hernandez.
As the clock ticked down, Brazil had calls for a penalty waved away when Marcelo went down easily in the box before Mexico fired the last salvo of the night, Raul Jimenez forcing a save from Julio Cesar.