Benoit Assou-Ekotto helped Cameroon book their place at next summer's World Cup Finals with a 2-0 win in Morocco.
The Indomitable Lions, without the injured Sebastien Bassong, needed the three points to ensure qualification with Gabon just a point behind them going into the final round of games.
But goals from Pierre Webo and captain Samuel Eto'o saw to that, with Gabon losing 1-0 in Togo anyway.
Benoit played the full 90 minutes in Fes, where Adel Taarabt also put in a full shift for Morocco.
Roman Pavlyuchenko and Russia also have one foot in South Africa, but a late away goal scored by Slovenia in their play-off in Moscow means Wednesday's return leg in Ljubljana will be a nervy affair for the striker.
He played 90 minutes at the Luzhniki Stadium and laid on the opener for Everton midfielder Diniyar Bilyatedinov five minutes before half-time.
The same played added a second six minutes after the break, but Nejc Pecnik's strike two minutes from time for the visitors leaves the tie wide open.
Robbie Keane and Ireland, however, have it all to do in the second leg of their play-off with France after a 1-0 first leg defeat in Dublin.
The striker skippered a brave Irish side who fashioned a number of chances but went down to a deflected Nicolas Anelka effort 18 minutes from time.
In the friendlies, Tom Huddlestone won his first senior England cap as a late substitute in a 1-0 defeat against Brazil in Doha, Qatar.
He was joined off the bench by both Peter Crouch and Jermain Defoe as Fabio Capello's men looked to cancel out Nilmar's winner just after half-time in a match Jermaine Jenas completed the full 90 minutes of on his return to the international fold.
It was a pretty straightforward evening for Niko Kranjcar, who played 77 minutes in Croatia's 5-0 victory over Liechtenstein.
And Wales were comfortable as Gareth Bale got the better of Alan Hutton in their 3-0 win over Scotland in Cardiff.