Two second-half goals gave Mexico their first ever victory over France to leave El Tri well-placed to make the last 16 and the 2006 runners-up on the verge of elimination.
Mexico were the brighter of the two throughout but were unable to take any of their chances until just after the hour, when substitute Javier Hernandez broke the offside trap and rounded keeper Hugo Lloris before slotting home.
Another Mexican substitute, the 37-year-old Cuauhtemoc Blanco, sealed the victory from the penalty spot after a third replacement, Pablo Barrera, had been felled in the box.
It leaves Mexico level at the top of Group A with Uruguay and a draw between those two sides in their final game in Rustenburg would send France out of the tournament.
Mexico and France met in the first ever World Cup finals match in Montevideo, Uruguay in 1930, with Les Bleus cruising to a 4-1 victory, but this keenly contested encounter was never likely to reproduce such a scoreline.
Both teams showed greater endeavour than in their drawn opening games, with France in particular looking more lively, but for long periods neither possessed the cutting edge to truly punish their opponents.
The French squad is reportedly in disarray, with suggestions of a training ground bust-up between coach Raymond Domenech and midfielder Florent Malouda, who was not selected for their uninspired 0-0 draw with Uruguay, and they have been criticised by former midfielder Zinedine Zidane.
However, Malouda was recalled in place of Yoann Gourcuff in a line-up that kept faith with a world class strike-force, spearheaded by Nicolas Anelka, that has failed to register an international goal since last November.
Malouda showed rare glimpses of the form he showed throughout last season for Chelsea, forcing Mexico keeper Oscar Perez to palm over early in the second half, having earlier begun a free-kick routine straight off the training ground that saw Frank Ribery flash a drive across goal.
This was the closest Ribery would come to affecting the game from his central playmaker role and, as against Uruguay, Anelka was largely anonymous and was replaced at half-time by Andre-Pierre Gignac, who also offered little in his 45 minutes on the pitch.
Mexico's attack is exciting but too often lightweight. Their forwards missed numerous chances in their opening 1-1 draw with hosts South Africa but all three players retained their place in the side - although Arsenal striker Carlos Vela was forced off with an injury on the half hour with only one skied shot to his name.
Another member of their attacking triumvirate, Tottenham's Giovani Dos Santos, produced another lively display to match the one he produced against South Africa and, but for Patrice Evra's presence, would have been able to get greater purchase on a shot that bobbled wide just before half-time.
Mexico's chief offensive weapon in the first half was left-back Oscar Salcido, who regularly found himself in advanced positions, but his execution could not match his intent.
He had two good shooting opportunities in the first half but from the first he shot wide of the far post from 25 yards, and then saw a close-range effort blocked by France keeper Lloris after William Gallas had inexplicably backed away from Salcido's run.
The opening of the second half had seen a clear dip in quality from what had been a decent first 45 minutes, but two positive Mexican substitutes - Hernandez and Blanco - altered that, with a third, Vela's replacement Barrera, also playing a part.
In the 64th minute, Marquez chipped a ball forward from midfield, Eric Abidal played the Manchester United-bound striker onside and with the French defence static and begging for offside, Hernandez was able to advance onwards, skip round Lloris and slot into the vacated goal.
France's response was meek at best but the Mexicans, by now full of confidence, continued to press and were rewarded when Barrera was tripped and Blanco charged in from outside the box to dispatch his penalty into the right-hand corner of the net.
Attempts on target
Attempts off target
Projected table based on current scores
|Group A teams||P||W||D||L||F||A||GD||PTS|
|Group B teams||P||W||D||L||F||A||GD||PTS|
|Group C teams||P||W||D||L||F||A||GD||PTS|
|Group D teams||P||W||D||L||F||A||GD||PTS|
|Group E teams||P||W||D||L||F||A||GD||PTS|
|Group F teams||P||W||D||L||F||A||GD||PTS|
|Group G teams||P||W||D||L||F||A||GD||PTS|