Despite looking steady throughout the day, the Redbacks fell apart in the final session to be bowled out for 283 with under half an hour remaining.
WA fast bowler Joel Paris earned figures of 3-52 with three top-order scalps, while spinner Ashton Agar returned 3-41 off 25 overs.
After resuming at 1-7, consistent opener Jake Weatherald hit his fourth half-century of the season with a confident 62, while captain Travis Head scored 47 off 59 balls.
Veteran No.3 Callum Ferguson anchored the innings only to be caught behind off Paris eight runs shy of a watchful century.
However the end of Ferguson's 228-ball knock kick-started the home side's decline, as their final four wickets fell for 21.
The win left the Warriors finishing fourth on the Shield ladder.