South Africa thumped Botswana 4-1 in their final group A fixture but it was not enough to see them through to the next round of qualifying.
Bernard Parker scored a late brace to add to first-half strikes from Kermit Erasmus and Dean Furman on Saturday.
However, the South Africans finished second in their group behind Ethiopia, after they beat Central African Republic 2-1 to seal their place in the final qualification round.
Jerome Ramatlhakwane had briefly given Botswana hope in the second half, but Parker's double ensured that they finished third in the group, six points adrift of Ethiopia.
South Africa made five changes to the side that had lost to Ethiopia in their last qualifier in June.
Erasmus, Thabo Matlaba, Kagisho Dikgacoi, Bongani Khumalo and Tokelo Rantie all came in, with Tebogo Langerman, Reneilwe Letsholonyane, Mulomowandau Mathoho, Thuso Phala and May Mahlangu making way.
For Botswana, Jackie Mothatego, Galabgwe Moyana and Mogogi Gabonamong replaced Dirang Moloi, Phenyo Mongala and Obuile Ncenga from the team that defeated Central African Republic in their previous qualifier.
Both sides needed a win to have any chance of progressing to the next stage of qualifying, and it was the home side who started the stronger, as Dikgacoi was denied twice by Botswana goalkeeper Kabelo Dambe in the seventh minute.
Siphiwe Tshabalala fired a free-kick over the bar 10 minutes later as South Africa continued to press.
In the 27th minute, Erasmus gave South Africa the lead.
Gabonamong conceded a cheap corner, from which Parker flicked the ball on leaving Erasmus with the simple task of nodding the ball home for his first international goal.
Kabelo Dambe then brilliantly kept out Parker's effort, but South Africa were not to be denied and in first-half stoppage time Doncaster Rovers midfielder Furman broke forward and tucked a low finish beyond the goalkeeper and in off the post.
The home side began the second period the same way they ended the first, as Dambe had to be on hand to deny both Rantie and Matlaba.
With 17 minutes to go, Ramatlhakwane gave Botswana hope when he rose to head beyond Itumeleng Khune, but 10 minutes later Parker restored South Africa's two-goal advantage.
Substitute Moloi brought down Rantie outside the box and Parker stepped up to send the ball over the wall and beyond Dambe.
A minute from time, Parker claimed his second from the penalty spot after substitute Daine Klate was felled in the area to seal a resounding, if ultimately academic, victory for South Africa.
|B. Parker||84' 89'|
|Coach: G. Igesund|
for K. Erasmus 58'
for K. Dikgacoi 66'
for S. Tshabalala 88'
|Sampaoli: Taking Argentina job would be irresponsible|
|Payet absence no excuse - Noble|
|Gabriel Jesus expects Palmeiras exit amid Manchester City rumours|
|Domzale 2 West Ham 1: Crnic double stuns Bilic´s side|
|Juventus target Gabriel Barbosa says Santos exit is close|
|Leicester duo ready for ´once in a lifetime´ Champions League journey|
|Fabregas apologises for Klavan lunge|
|Reschke: Guardiola wanted Tuchel to be his successor|
|Pochettino expecting further Tottenham signings|
|Given retires from international football|
|Abdi and Pudil swap Watford for Wednesday|
|Leicester sign Chilwell to new five-year deal|
|Klopp pre-season ´most intense ever´ for Sturridge|
|Simeone backs Griezmann for Ballon d´Or final three|
|Puskas Award winner quits football - to become a gamer|
|Simeone: Champions League final felt like a death|
|Higuain: I have to prove my worth to Juventus|
|Guardiola confirms interest in Sane and Stones|
|Moreno set for Manchester City switch and Deportivo loan, claims agent|
|De Laurentiis pushed me into Juventus move - Higuain|
|Savic seeking to put injury woe behind him|
|Borussia Dortmund 1 Manchester City 1 (5-6 pens): Gunn´s shootout saves earn Guardiola first win|
|Oblak: Atleti need consistency and luck|
|Warburton rubbishes Van Persie rumours|
|Hospitalised Grujic ´can´t remember anything´, says Klopp|
|Premier League, Serie A appeal to Simeone|
|Copa Libertadores success ´a dream´ for Borja|
|Pochettino honoured by Simeone comparisons|
|Argentina have not asked for Sampaoli - Monchi|
|Ancelotti: Fitness the key for Bayern|
|Bayern win ´a small foundation´ for Montella´s Milan|
|Icardi missing due to injury - Mancini|
|Emery satisfied with warm-up win over Madrid|
|Conte quiet on Tevez, apologises for Fabregas red|
|´It was far from a friendly´ - Klopp on Chelsea defeat|
|Madrid off the pace, concedes Zidane|
|Chelsea 1 Liverpool 0: Cahill´s header seals win|
|Grujic says Chelsea´s Matic told him to sign for Liverpool|
|Bolasie wants to see Berahino and Benteke at Crystal Palace|
|Rodgers hails ´outstanding result´ as Celtic draw|
|Walcott claims level of MLS is close to Premier League|
|Bayern Munich 3 AC Milan 3 (3-5 on penalties): Bonaventura seals win|
|Atletico Nacional 1 Independiente del Valle 0 (2-1 agg): Borja secures Copa Libertadores crown|
|Icardi absent again as Inter held by Estudiantes|
|Real Madrid 1 Paris Saint-Germain 3: Zidane oversees poor pre-season start|
|Hazard vows to rediscover best Chelsea form|
|Klopp reveals why he sent Sakho back to Liverpool|
|Tevez: Conte wanted me at Chelsea|
|Sunderland hopeful Defoe will be fit for Man City opener|
|Sundowns overcome Zamalek to book semi-final spot|
|Falcao scores as Monaco return ends in defeat to Fenerbahce|
|Southampton overcome Twente, Asoro stars for Sunderland|
|Man City must adapt to Guardiola tactics quickly - Denayer|
|Chelsea and Leicester to play in EFL Trophy as five Premier League clubs refuse|
|Tolisso pulls plug on €37.5m Napoli move to stay at Lyon|
|Ancelotti shrugging off Guardiola´s shadow|
|Uruguay international Lodeiro swaps Boca for Seattle|
|Ibrahimovic will bring United back to where they belong - Larsson|
|Transfer speculation frustrates Aubameyang|
|Willian ready for ´toughest Premier League season in history´|
|Astana 1 Celtic 1: Griffiths hits late equaliser|
|De Laurentiis feels betrayed by Higuain swapping Napoli for Juventus|
|Costa: Chelsea cannot be any worse than last season|
|Wilshere: Xhaka can hold Arsenal midfield together|
|Pato signs four-year deal with Villarreal|
|Higuain sets sights on Champions League after Juventus move|
|Lazio snap up Immobile from Sevilla|
|Batshuayi worth the money, insists Cahill|
|Arnautovic signs new Stoke deal|
|Smith leaves Liverpool for Bournemouth|
|Barcelona insist Arda Turan will stay|
|Andre Gomes: Barcelona suit my identity better than Real Madrid|
|Niersbach to appeal FIFA ban|
|Barcelona agree Mascherano renewal|
|Fernandinho can play in 10 positions - Guardiola|
|Reading´s kit launch is out of this world|
|Ben Arfa: I do not want to be PSG´s star player|
|FA Cup to trial fourth substitute|
|We want Balotelli and he wants us, says Besiktas chief|
|Crowd welcomes Higuain as he arrives for Juventus medical|
|Guardiola warns Man City stars: If you´re not fit, danger is coming|
|Mkhitaryan prepares to prove himself at United|
|Cavani: No pressure replacing Ibrahimovic|
|Wenger vows to keep transfer plans ´secret´ after Lacazette snub|
|Brannagan open to Championship loan move|
|Wenger wants to sign Mertesacker replacement|
|Ancelotti: Bayern´s transfer business done|
|Brisbane Roar sign former Danish international Kristensen|
|Verratti, Luiz missing for PSG|
|Sounders part ways with foundation coach Schmid|
|Mane turned down Manchester United for Liverpool|
|Zidane on Pogba: Until August 31, anything can happen|
|Mkhitaryan driven by father´s death|
|Inter rejected Napoli offer for Icardi, says president|
|Clichy: City fighting fit after Guardiola pizza ban|
|Everton and Burnley win as Hull are held|
|Ajax held by PAOK after Cillessen howler|
|Conte left frustrated by ´crazy´ money in transfer market|