South Africa strengthened their position at the top of Group G in African World Cup qualifying with a 3-1 win in Ethiopia.
Fasil Gebremikael could not keep out Teboho Mokoena's free-kick in first-half stoppage time to give Bafana Bafana the lead at the break in Bahir Dar.
Getaneh Kebede equalised for the hosts midway through the second period but Mothobi Mvala restored South Africa's lead with 19 minutes remaining.
Evidence Makgopa made the game safe for the visitors in the 91st minute after coming off the bench.
Hugo Broos' side, who failed to qualify for the Africa Cup of Nations, top the group with seven points.
Ghana, who have three points from their two games in Group G, host Zimbabwe later on Saturday.
Elsewhere, Guinea's hopes of progressing to next March's play-offs took another blow as they were held to a 2-2 draw by Sudan.
In a match played in Agadir, Morocco, following the coup in Guinea last month, Jose Kante put Syli National ahead three minutes into the second half.
Substitute Ahmed Hamid equalised for the Sudanese on 64 mins but Guinea restored their lead three minutes later through Mohamed Bayo.
Defender Amir Kamal then netted a second equaliser for Sudan with two minutes left to leave Guinea with three points in Group I, three points behind leaders Morocco.
The Atlas Lions face Guinea-Bissau, who they beat 5-0 on Wednesday, at 19:00 GMT in Casablanca.
There are also two matches in Group H on Saturday, as Togo host Congo and Senegal look to keep up their perfect start when they welcome Namibia.