Dani Pedrosa's factory replacement at Honda in the 125cc class, Andrea Dovizioso, repeated the Spaniard's victory from one year ago at Welkom to clinch the first maximum points haul of his career.
The Italian teenager and veteran compatriot Roberto Locatelli, in his first race in the class for Aprilia since winning the World Championship in 2000, set the pace for much of the race with only KTM debutante Casey Stoner able to briefly deny them of the lead.
The Australian youngster lost touch in the final stages of the race and was forced to battle for third with Pablo Nieto, eventually winning out on the last lap.
Meanwhile, in the final corner, Dovizioso launched a perfectly timed attack on Locatelli to seal a dramatic maiden win.
125cc Africa's Grand Prix - top ten:
2. Locatelli (+0.071secs)
3. Stoner (+2.203secs)
4. Nieto (+2.416secs)
5. Di Meglio (+12.312secs)
6. Borsoi (+13.270secs)
7. Giansanti (+14.457secs)
8. Jenkner (+15.046secs)
9. Bautista (+24.835secs)
10. Barbera (+25.266secs)