Two goals from Oribe Peralta, including the fastest goal recorded in Olympic history, extends the curse on the Brazilians.
Olympics: Mexico men wave goodbye to Brazilian footballers
Brazil's Olympic curse struck again as Mexico secured arguably the greatest triumph in their footballing history by winning London 2012 gold at Wembley Stadium yesterday.
Oribe Peralta wrote his name into Mexican folklore with a two goals against the five-time world champions, who had been the favourites to end their agonising wait for Olympic glory.
But despite Hulk pulling a goal back in stoppage-time and Chelsea new boy Oscar missing a last-gasp sitter, Brazil were a shadow of the attacking force that had netted 15 goals en route to the final and displayed the defensive frailty that has long dogged them.
In sharp contrast, Mexico completed their transformation from also-rans in world football to a side capable of delivering on the biggest stage.
Luis Fernando Tena, the Mexico coach, said: "We are extremely happy. It's a wonderful moment for our country. Mexico will be on the streets partying right now.
"It's a great moment for a coach to see his players singing the national anthem with gold medals around their necks."
And they could not have picked a better time than in front of 86,162 in what was their first truly global major final. The game promised to be a goal-fest, with Brazil having scored three times in all five of their matches and their opponents netting seven in their last two.
But few would have predicted the fastest goal ever in a Fifa tournament final - also thought to be the quickest in Olympic history - after just 28 seconds.
Manchester United right-back Rafael's weak pass was intercepted by Javier Aquino and the ball broke for Peralta to race goalward unchallenged and fire home.
It was not the first time Brazil had been behind at London 2012 and they might have levelled in the 13th minute when Thiago Silva headed Neymar's free kick over.
Oscar also should have done better than find Jose Corona when he was allowed to turn and shoot eight yards out.
Brazil's sloppiness continued as they found it hard to penetrate a fiercely committed opposition.
They made an attacking change just past the half-hour mark when midfielder Alex Sandro was withdrawn for Porto teammate Hulk.
And the substitute almost caught out Corona with a piledriver from 35 yards but the goalkeeper recovered well to foil Leandro Damiao's rebound.
Marcelo should have tested him again when he flashed wide from Damiao's lay-off and his timing was all wrong again moments later when he went through the back of Peralta, earning a booking.
Hulk was making a real impact, winning a free kick that Romulo glanced wide in first-half stoppage-time.
The urgency Brazil had been lacking arrived straight from the restart and Neymar was close to sending a screamer into the top corner before being left with a nosebleed after colliding with Corona.
Neymar, the Santos forward, skied a good chance when the ball fell to him 10 yards out but Mexico weathered the storm and were unlucky not to double their lead in the 64th minute after another defensive howler.
Marco Fabian robbed Thiago Silva and although Gabriel came rushing out, his save set up an overhead kick Fabian smashed against the crossbar.
Leandro Damiao powered a header wide from a corner before Peralta had a second goal ruled out for offside.
Peralta netted with a bullet header 15 minutes from time thanks to non-existent marking.
But Brazil still could have staged an amazing comeback in stoppage-time, Hulk racing on to a long ball from Marcelo and rifling into the net before crossing for an unmarked Oscar to nod wide.
A disappointed Menezes refused to blame Rafael's early error for their loss.
He said: "Individual mistakes were made and the major one was made at 30 seconds today, but we had 89 minutes to turn it around and we didn't manage to, so we all lost, not just one player.
"On previous occasions we were able to deliver after going behind but this time it wasn't possible."
Follow us @SprtNationalUAE