Kick-off at Moses Mabhida Stadium was at 5pm.
Bernard Parker was ruled out because of an ankle injury.
Goalkeeper Itumeleng Khune was handed the captain's armband.
Commentary, most recent first:
FULL TIME: Bafana 3 Malawi 1. A solid victory for South Africa, although they let the game get away from them at times.
94min: Manyisa curls a shot into the box, but it's saved.
92min: Clear handball in the box by Nyirenda in the first minute of injury time, but the referee calls ball-to-hand.
90min Malawi sub: Frank Banda on for Ng'ambi
87min: Klate sends in a high cross after racing up the wing, but Phala and Gaxa can't decide who should collect and the ball is cleared by Malawi.
85min Malawi sub: Cabadinho Mhango on for Nyondo
86min: Phala has a low free-kick deflected out for a corner. He takes the corner short, but it's soon cleared.
84min South Africa sub: Thanduyise Khuboni on for Letsholonyane
82min: Rantie sends the ball across goal, but it's palmed away by the keeper, and no South Africans are there to collect the rebound.
77min South Africa sub: Thabo Nthethe on for Bevan Fransman
76min Malawi sub: Micium Mhone on for Chimango Kayira
76min: Fransman stretchered off with a leg injury.
74min: GOAL! May Mahlangu converts a penalty after Rantie was brought down in the area by Sangala! 3-1 to Bafana.
70min: Klate has another free-kick, after Rantie is fouled by Chavula. He gets it over the wall but straight into the arms of the goalie.
63min sub: Thuso Phala on for Myeni
Malawi starting to press after their opener, and looking more dangerous.
58min sub: May Mahlangu on for Chabangu
55min sub: Tokelo Rantie comes on for Majoro
51min: Klate has his free-kick punched away by the goalie, after Myeni was fouled by Chavula.
48min: GOAL! Ng'ambi earns a penalty, after Sangweni is adjudged to have brought him down. Kamwendo takes it and beats Khune high on the left. 2-1 to Bafana.
Second half: Daine Klate comes on for Tshabalala
45min: Chabangu tries his luck from outside the box, but his shot goes wide.
43min: Kamwendo tries a hopeful shot from range on the left, but it's over the bar.
42min sub: Zico Mkanda on for Ngalande
40min: A backheel pass from Majoro on the edge of the box under pressure reaches Manyisa outside the box, who tries a grass-cutter, but there's little power on it and it goes wide.
39min: Malawi have their first shot more or less on target, as Banda has a go from range. The crowd gets excited but it's quite a few inches over the bar in the end.
36min: Shabba sends a free-kick in, over the heads of everyone in the box, not a bad attempt but saved by Nthala.
34min: Another chance for Bafana, as Shabba goes for top right of goal from close on the left with a cross-cum-shot, but it's saved by the outstretched hand of Nthala.
32min: Free-kick from quite far out for Malawi, after a foul by Yeye on Chagoma, easily dealt with by the Bafana defence.
18min: Another good cross from Chabangu, which Majoro gets on the end of. He shoots wide, but is blown offside anyway.
The last time Bafana played Malawi was back in 2008 in a friendly, and they won it 3-0.
16min: Sangweni penalised for a foul on Nyondo. Free-kick is taken by Kamwendo, but Bafana clear easily.
10min: GOAL! Shabba boots the ball home from close range after a cross from the right by Yeye, after Gaxa beat his marker at the corner.
6min: GOAL! Shabba sends a long ball in, Chabangu controls beautifully with a reverse flick just on the box, takes a couple of steps and has a shot, saved, but Majoro is there to poach from the rebound. Great start for Bafana, nice team goal there.
4min: Early cross from Gaxa, under pressure. Majoro was looking for it, but the ball was cleared by the Flames defence.
Bafana Bafana starting XI: Itumeleng Khune (captain), Siboniso Gaxa, Thabo Matlaba, Bevan Fransman, Siyabonga Sangweni, Lerato Chabangu, Lehlohonolo Majoro, Siphiwe Tshabalala, Sifiso Myeni, Reneilwe Letsholonyane, Oupa Manyisa
Flames starting XI: Simplex Nthala, Steve Chagoma, Moses Chavula (captain), James Sangala, Banda, Harry Nyirenda, Josephy Kamwendo, Robyn Ngalande, Chimango Kayira, Robert Ng’ambi, Atudaye Nyondo