The Proteas fast bowler claimed 5/29 in 11.1 overs to help blow away the Eastern Cape side for 139 after they were set a difficult 288 for victory earlier in the day.
Spinner Simon Harmer ended with 4/92.
In reply, Eddie Moore (11) and Michael Price (13) put on 34 for the first wicket, but Viljoen then worked his magic.
The Warriors lost three wickets for no runs on 34, sparking the start of their free-fall with the big fast bowler at the centre of things by removing three of the top four.
Mulder and Aya Myoli offered good support with four wickets between them as they claimed 2/15 and 2/28 respectively to bowl the visitors out in 34.1 overs. Captain Harmer ended unbeaten on 42.
It was the second win of the season for the home side and gave them 18.16 points, while the Warriors walked away with 9.12 points.