Having won their opening fixtures last week, both sides came into the clash knowing a win would all but assure them of a place in the second round.
Unlike much of the action previously seen at the finals, what followed was a disjointed affair devoid of any real pattern, although the hosts created the clearer goalscoring opportunities.
Mexico goalkeeper Guillermo Ochoa made a superb save in each half, scooping Neymar's header away following a pinpoint Dani Alves cross in the first period before being in the right place to keep out Thiago Silva's free header five yards out with just three minutes remaining.
Brazil dominated the latter stages, but ultimately Luiz Felipe Scolari's side failed to deliver the goal the home crowd so desperately craved, and the stalemate leaves the two teams locked on four points at the top of the group.
Cameroon and Croatia meet in Group A's next game on Wednesday, with each knowing defeat would see them exit the tournament.
Brazil made one alteration to the side that defeated Croatia in the opening match, Ramires coming in for the injured Hulk, while Mexico were unchanged from their win over Cameroon.
After a slow start to proceedings, Mexico's Hector Herrera had the first meaningful effort in the 24th minute. Julio Cesar tipped a rasping 25-yard drive over the crossbar, although the officials failed to see the touch and awarded a goal-kick to the hosts.
Brazil's response was immediate, Neymar rising highest to head Alves' cross towards goal, but Ochoa flew to his right to brilliantly claw the effort away.
Ochoa was called into action again 10 minutes before the break, this time making a much more routine save from Fred's header after the forward met Neymar's right-wing corner.
Mexico hit back, Jose Vazquez momentarily worrying Cesar with a swerving effort from the edge of the box which ultimately flew wide in the 41st minute.
Paulinho was then denied by Ochoa shortly before the break, the goalkeeper rushing from his line to block the midfielder's poked effort following a driven Neymar set-piece.
The opening of the second period matched that of the first with neither side able to assert themselves, Vazquez and Herrera both fizzing shots just over the bar from distance in the only efforts of note prior to the hour mark.
Neymar sent a 30-yard free-kick narrowly wide in the 63rd minute and went close again six minutes later, jinking into space inside the penalty area only to see his strike repelled once more by Ochoa.
Suddenly the hosts looked more lively, substitute Jo dragging an effort wide from a tight angle after being slipped in by fellow replacement Bernard, and Silva planting a header straight at Ochoa when it seemed easier to score.
Raul Jimenez brought a smart stop out of Cesar in stoppage time as the game became stretched, but both sides had to settle for a draw that means they each remain in control of their own fate.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.