Tokelo Rantie had silenced the home fans inside the first 10 minutes with a calm finish after a surging run from his own half to give Gordon Igesund's visitors the perfect start.
However, South Africa were unable to build on that advantage, as El Adoua restored parity shortly after the restart.
South Africa had goalkeeper Itumeleng Khune to thank for keeping the scores level in the early stages, as he produced a superb reflex save to deny Youssef El-Arabi's strong header, before the visitors made the breakthrough in the ninth minute.
Rantie found space and raced clear of the Moroccan defence, showing superb composure to coolly slot beyond Mohamed Amsif.
Morocco sought an immediate response and Mehdi Benaita almost levelled from close range soon afterwards, but Khune was once again equal to the task to maintain South Africa's lead.
And they should have been 2-0 ahead four minutes before the break when Sibusiso Vilakazi went through one-on-one, only to see his effort parried away by the goalkeeper.
Morocco punished that missed opportunity five minutes after half-time as Younes Belhanda launched a free-kick into the box where El Adoua was on hand to glance home the equaliser.
That goal brought about a lull in proceedings, although Fulham midfielder Adel Taarabt forced a block from the South African defence.
And the hosts went even closer when Torino's on-loan Napoli midfielder Omar El Kaddouri shot wide from inside the box after brilliant approach play.
South Africa almost made them pay for their profligacy when Ayanda Patosi shot narrowly wide from 20 yards with time running out, but neither side could find a late winner.
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.