NSW were on top of the Shield table coming to Perth following a thumping innings and 48-run win over Victoria last week at the SCG but the Warriors have shot ahead of them now with two matches left.
The game was evenly poised after two days with WA 5-263 in reply to NSW's 344 but from that point the Warriors dominated ending up making 462 in their first innings for an 118-run lead with Adam Voges scoring 155 and Sam Whiteman 88.
NSW were then in trouble at stumps on day three 16 runs behind and having lost four wickets to be 4-102 but would have still been confident of at least having something to bowl at with first innings centurion Ryan Carters at the crease.
However, whatever the NSW players ate for breakfast clearly didn’t hit the mark as they put in a horror showing with the bat.
The Blues ended up adding just 24 runs on the final day's morning while losing their last six runs to be all out for 126 and a paltry lead of just eight.
NSW did advance from 4-102 to 4-123 but then lost an amazing 6-3 off the final 52 deliveries with off-spinner Marcus North the destroyer with 3-9 as he bowled into the foot marks.
Carters top-scored for NSW with 37 but Sean Abbott, Manjot Singh and Josh Hazlewood all failed to score while Trent Copeland was the final wicket to fall for one.
Jason Behrendorff backed up his career-best 5-65 in the first innings for WA with 4-35 in the second while Michael Hogan also claimed 2-17.
WA made incredibly hard work of the run chase of eight with Cameron Bancroft out stumped second ball to Singh and then Marcus Harris was out for two caught at slip attempting a ridiculous slog.
However, North (4) and Voges (4) safely guided the Warriors to the win that now sets them up for a tilt at the Shield final with games away to go against Queensland and NSW.
The Blues' season is still alive, though, with games against the Bulls and then WA again to finish.