A second-half own goal from Manucho Diniz saw South Africa beat Angola 1-0 on Tuesday to record a 4-1 aggregate win and move into the third and final stage of CAF World Cup qualification.
Holding a 3-1 lead from the first leg away from home, Shakes Mashaba's men won a low-key return fixture by striking midway through the second half to finish the job.
South Africa have now booked their place among the final 20 African nations looking to make it to the 2018 World Cup as a result, with those teams to be split into five groups of four and the winners of each reaching Russia.
Mashaba made three changes to his line-up, two of which were enforced. The injured Anele Ngcongca and suspended Andile Jali came out of the side, along with Thulani Serero as Dean Furman, Thulani Hlatshwayo and Mpho Makola came in.
Angola shaded a quiet first half and almost went ahead when Jackson Mabokgwane made a hash of a series of high balls and had to be bailed out by a frantic clearance from Thulani Hlatshwayo.
South Africa attempted to respond when an impressive piece of solo play by Tokelo Rantie created an opening, but he failed to produce an end product.
Mandla Masango fired over for the hosts early in the second half, before Angola came close to throwing the tie wide open.
Gelson, who scored in the first leg, embarked on impressive run and rounded Mabokgwane, but could only fire against the post with his left foot from a tight angle.
South Africa punished the visitors for that missed opportunity by taking the lead with 23 minutes remaining when a corner from Masango struck Diniz, who inadvertently scored an own goal.
Angola attempted to respond when Fredy fired a free-kick just off target and Bastos headed over, before Gelson had a goal ruled out for offside in the final minutes as the hosts held on to win the second leg and, most importantly, the tie.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.