The Roos dismissed the visitors for 189, led by a terrific 6-53 from Kyle Millar, including the prized wicket of WA batsman Hilton Cartwright for nought.
With seven South Perth batsmen failing to reach double figures, it was Darius D’Silva (66) and Hugh Brown (59) who steered the side to a defendable total.
The hosts would have been confident in avoiding any significant damage when they began their chase with just 12 overs left in the day, but the outlook soon turned grim.
Get in front of tomorrow's news for FREE
Journalism for the curious Australian across politics, business, culture and opinion.
READ NOWWanneroo fell to 4-8 at one point, Simon Ringrose taking 3-29, before Jake Fawcett (29*) arrived at the crease to steady the tumble.
Victory is crucial for the Roos, who are in ninth position, but only out of the top six on quotient.