Holders Nigeria were bundled out of the African Nations Cup qualifiers after being held to a 2-2 home draw by South Africa and missing out on a top two place in Group A.
Striker Tokelo Rantie scored twice for South Africa who let a two-goal lead slip and were denied a first ever win in Nigeria by a late leveller.
The pacey 24-year-old opened the scoring two minutes before halftime with an excellent run and finish past home goal-keeper Vincent Enyeama.
Rantie netted his second three minutes after the break when his hustling forced a defensive mistake and he easily rounded Enyeama to fire into an empty net.
Nigeria pulled a goal back with 22 minutes remaining as Ikechukwu Uche’s shot hit the post and rebounded into the path of substitute Sone Aluko.
South Africa were reduced to 10 men on 71 minutes when midfielder Reneilwe Letsholonyane received a second yellow card and Aluko set up a tense finish with his second from 25 metres in injury time.
Elsewhere, Ghana’s Mubarak Wakaso scored with a fantastic long-range strike as they booked their place at the finals with a 3-1 victory over Togo.
Ghana top Group E with 11 points and will be joined at the finals by Guinea, whose 2-0 win over Uganda in neutral Morocco saw them finish runners-up in the section.
Ivory Coast also qualified for the African Nations Cup after a tepid 0-0 draw with 10-man Cameroon, who had Stephane Mbia sent off just before the hour in Abidjan.
Cameroon had made the event as Group D winners and showed little sense of adventure in a game that ended in farcical circumstances with the Ivorians passing the ball around in defence and the visitors showing no desire to win possession.
Ivory Coast 0-0 Cameroon
DR Congo 3-1 Sierra Leone
Ethiopia 0-0 Malawi
Mali 2-0 Algeria
Ghana 3-1 Togo
Guinea 2-0 Uganda
Niger 1-1 Mozambique
Zambia 1-0 Cape Verde
Nigeria 2-2 South Africa
Sudan 0-1 Congo
Burkina Faso 1-1 Angola
Gabon 4-2 Lesotho