Salahdin Said Ahmed opened the scoring for Ethiopia in the first half, before Katlego Mphela equalised in the second.
The Ethiopian fans outnumbered their Bafana Bafana counterparts and, in the end, they came close to snatching a win away from home.
South Africa started brightly and Siyabonga Nomvete benefitted from a defensive error in the third minute, but instead of firing in he tried to square the ball and the chance was gone.
Barely two minutes later, the PSL Footballer of the Season made a run down the right, but this time his cross was too strong.
Bafana continued to dominate for long spells, but couldn't find the breakthrough.
Nomvete's partner up-front Katlego Mphela took a free-kick straight at the goalkeeper and Sisay Bancha Basa fumbled Mphela's attempt, but was able to gather the ball with two Bafana players charging him down.
Bafana were in complete control at this stage, and they didn't know what hit them when Salahdin Said Ahmed benefited from an error by Tsepo Masilela ... the Ethiopian worked his way into the area and fired home off the underside of the crossbar, giving Itumeleng Khune no chance in the 28th minute.
Things went from bad to worse for Bafana when Masilela was forced off the field in the 34th minute because of injury, to be replaced by Punch Masenamela.
Ethiopia grew in confidence and almost grabbed a second on the stroke of half-time when Said was at it again, but this time he shot wide.
The score was 1-0 to Ethiopia at the interval.
Pitso Mosimane made a change at half-time, taking off the inefficient Reneilwe Letsholonyane for Oupa Manyisa.
However, Bafana started the second half on a bad note when Bongani Khumalo was booked for a foul on Said.
Ethiopia goalkeeper Bancha Basa played for time after taking Nomvete's boot to the face in the 51st minute and Bafana knew the second half was going to be much difficult than the first, especially when Ethiopia put more numbers at the back making Bafana's job all the more difficult.
South Africa, though, fought back to equalise in the 77th minute through Katlego 'Killer' Mphela, who Mosimane had predicted a day earlier could come through for Bafana.
The Mamelodi Sundowns marksman managed to outmuscle his marker to latch on to a long pass before curling a brilliant shot past the goalkeeper to score his 23rd goal for Bafana in 46 matches.
But Bafana couldn't find a winner in the final minutes, and the spoils were shared.
Bafana Bafana starting XI: Itumeleng Khune – Anele Ngcongca, Tsepo Masilela (Masenamela 34th), Morgan Gould, Bongani Khumalo – Thanduyise Khuboni (Modise 73rd), Steven Pienaar (c), Reneilwe Letsholonyane (Manyisa 46th), Siphiwe Tshabalala – Katlego Mphela, Siyabonga Nomvete