South Africa took a giant step towards qualifying for the 2022 World Cup despite the group stage matches being half way through as they defeated Ethiopia 3-1 at the Bahir Dar Stadium on Saturday.

Despite the scoreline, it was a hard-fought win that now sees Bafana Bafana (7 points) hold onto their lead in Group G by four points.

The home defeat does not signal the end for Ethiopia (3 points) in chasing a World Cup ticket as they could still qualify for the next round.

The Bafana front three – Thabiso Kutumela, Bongokuhle Hlongwane and Tshegofatso Mabasa – applied the necessary pressure on Ethiopia's midfield and defence with an assured tactical press.

But Ethiopia would not allow South Africa all the possession and showed their attacking intent after confidently holding onto the ball before nearly scoring.

The home side probed their way into Bafana's penalty area, and Getaneh Kebede cheekily backheeled the ball into space where Surafel Dagnachew had more time than he realised. His hurried approach saw his effort float over the crossbar.

Minutes later, Dagnachew ensured that his next chance at goal hit the target and the long-range effort nearly caught Ronwen Williams by surprise, but the goalkeeper's reflexes kept the score goalless.

Kutumela, who was named on the bench, replaced the injured Vincent Pule before the match started.

The Mamelodi Sundowns attacker burst down towards Ethiopia's goal to lace a low strike that went inches wide.

Ethiopia responded with an attack that spilt the Bafana centre-back pairing of Siyanda Xulu and Rushine De Reuck before Abubeker Nassir's toe-poke finish met the glove of Williams that cleared the danger.

Williams came to Bafana's rescue again as Nassir found space and shot at goal.

Before the half ended, Broos brought on Victor Letsoalo for Mabasa in an attacking change.

A chasing Kutumela latched onto the ball and was fouled with a 40-yard free-kick awarded to Bafana on the left flank.

Up stepped the in-form Teboho Mokoena.

He opted to test Ethiopia's goalkeeper Fasil Gebremichael, who parried the ball into the back of his net as Bafana took a 1-0 lead as they walked towards the tunnel.

More chances came South Africa's way early in the second stanza as Moekona hit the side net from a difficult angle.

Bafana survived two shouts for a penalty from Ethiopia that could have changed the trajectory of the match, but the replay showed that the correct decision was made.

Ethiopia probed South Africa and was rewarded duly for their efforts.

Kebede slotted home an impressive free-kick to equalise for the home side, making the final 25 minutes an exciting affair.

Broos' charges were in a mood to go out for the win, and a long Nyiko Mobbie pass found the head of goalscorer Kebede.

His attempt at clearing the ball set up Mothobi for a close-range finish to give Bafana the lead again.

Yusuf Maart and Evidence Makgopa replaced Kutumela and Ethan Brooks as Broos needed some fresh legs in the match's final ten minutes.

And Makgopa's arrival nearly saw the striker add a third goal for South Africa, but his headed effort hit the crossbar, bringing a sigh of relief for Ethiopia.

Makgopa would eventually get the final say as he lobbed the goalkeeper to ensure South Africa leaves Ethiopia with maximum points.

Bafana Bafana will immediately fly back to South Africa to prepare for the return leg at FNB Stadium on Tuesday.

Ghana will take on winless Zimbabwe at the Cape Coast Stadium at 4pm local time.