Majoro’s determination and neat second-half finish confirmed the win after Siyabonga Sangweni’s volley gave Bafana Bafana a half-time lead with Angola lacking any attacking threat.
Tottenham Hotspur defender Bongani Khumalo almost put the home side ahead on nine minutes, but could not quite reach Bernard Parker’s free-kick.
Shortly after, Katlego Mphela – restored to the starting line-up – beat Lama to a left-wing cross but the goalkeeper did well to snuff out any danger.
Mphela and Tokelo Rantie were causing the Palancas Negras problems but following neat interplay Rantie could only fire high over the bar on 23 minutes.
Bafana Bafana’s pressure told on the half-hour mark, Lunguinha’s header not clearing a free kick and Sangweni firing a volley across Lama into the net.
Former Manchester United striker Manucho almost hit back instantly but his header was saved by Itumelang Khune, palming out for a corner.
Angola were showing more promise and threatened again ten minutes later but Manucho’s knockdown for Mateus was wasted with a wild swipe at the ball.
But South Africa still looked dangerous, Parker forcing a save from 30 yards moments later and Rantie heading just over after Lama flapped at a cross.
The first action of the second half saw Guilherme strike well from Mateus’ cross but Khune got down well to prevent the equaliser.
Oldham’s Dean Furman then tested Lama, the former Chelsea trainee trying his luck from 25 yards and nearly finding the corner.
South Africa doubled their lead on the hour, substitute Majoro latching on to a long ball, brushing off Bastos and slotting through Lama’s legs.
Lunguinha, trying to make up for his first-half error, chose to ignore options in the centre and gave Khune an easy save on 68 minutes.
Majoro was carried off on a stretcher in injury time following a collision with Lama but the game was already secure.
Angola now rely on the result of Morocco against Cape Verde going their way to retain hopes of qualification.
Get enhanced odds of 18/1 on Andy Murray to win Wimbledon or 10/1 on Novak Djokovic when you open a Paddy Power account.