Substitute Sibusiso Vilakazi bagged a brace before debutant Bongani Ndulula added a third goal at Al-Merreikh Stadium in Omdurman.
Bafana Bafana next host continental champions Nigeria in their second Group A tie at Cape Town Stadium on Wednesday. The Super Eagles will begin their campaign against Congo in Calabar tomorrow.
Sudan started the match strongly, and wasted a great chance in the seventh minute when Balla Jabir put a free header over off a corner.
Two minutes later Bafana striker Tokelo Rantie should also have have done better as he fired wide after goalkeeper Moez Mahjoub spilled a right-wing cross from Ndulula.
The hosts, though, continued to press as Ramadan Agab triggered two stops in quick succession from stand-in Bafana captain Senzo Meyiwa. First Agab's header forced Meyiwa to drop down smartly before his long-range effort drew an acrobatic, finger-tip save from the Orlando Pirates man in the 16th minute.
Rantie then threatened again just past the half-hour mark, but his powerful shot from the edge of the area was foiled by a stunning save from Mahjoub.
Mashaba, who returned to the Bafana hotseat at the expense of Gordon Igesund on September 1, made a change after the interval, bringing on Mamelodi Sundowns midfielder Themba Zwane for debutant Keagan Dolly.
Soon after Mashaba introduced Vilakazi for Rantie, and the Bidvest Wits captain made an immediate impact as he scored with his first touch in the 55th minute. 'Vila' pounced on the rebound after Mulomowandau Mathoho's header from a corner was cleared off the line.
The energetic Vilakazi registered his second ever international goal in the 61st minute, cleverly creating space with a neat dummy before cracking the ball into the top corner from just inside the box.
Bafana dominated much of the second stanza, although Agab nearly pulled one back with a misdirected header in the 77th minute.
The visitors, however, put the result beyond doubt in the 79th minute when Ndulula scrambled in a cross from the left by substitute Oupa Manyisa, who replaced Mandla Masango 11 minutes earlier.
Sudan came agonisingly close to scoring at the death but Mohamed Tahir's header was denied by the post.
Sudan line-up: Moez, Bala Jabir, Kamal, A Gaafar, Faris Abdullah, Bakhiet, Alaa, Agab, Nazar, Bisha, Al Madina.
South Africa line-up: Meyiwa, Ngcongca, Mathoho, Hlatshwayo, Matlaba, Furman, Jali, Masango (Manyisa 68’), Ndulula, Dolly (Zwane 46’), Rantie (Vilakazi 54’).