The in-form Spaniard took his tally for the season to 12 in 16 starts with two first-half strikes at McDiarmid Park.
With Motherwell inactive after their match against Dunfermline was called off due to wind damage at Fir Park, St Johnstone closed the gap with a clinical win.
Steve Lomas's side also ended a miserable run of home results having lost their previous three matches at McDiarmid Park.
The strong wind made conditions far from ideal, but Kilmarnock's James Dayton used it to his advantage with a curling corner that had St Johnstone goalkeeper Peter Enckelman flapping.
The visitors made the early running and Gary Harkins was unlucky with a drive that was deflected over the bar by Steven Anderson on 10 minutes.
Paul Heffernan was next to have a go for Kilmarnock, taking a pass from Dean Shiels and stinging Enckelman's palms with a vicious drive.
St Johnstone struggled to break Kilmarnock down but Sandaza created space for himself and tested Cammy Bell with a low shot after 17 minutes.
Manuel Pascali then produced a brilliant tackle to deny Sandaza after great wing play from Chris Millar.
The home side had found their rhythm and Liam Craig's long-range drive was batted away by Bell midway through the first half.
Kilmarnock were then forced into a change when Rory McKeown limped off injured on 24 minutes. Danny Racchi replaced him.
Within seconds, St Johnstone were ahead. Jody Morris's corner was met by Dave Mackay, whose shot was blocked on the line by Liam Kelly, but Sandaza buried the rebound.
It was perhaps harsh on Kilmarnock but they almost equalised on 30 minutes when Racchi's long-range drive was tipped onto the post by Enckelman.
Kilmarnock also had a strong penalty claim turned down when Dayton's shot appeared to be blocked by David McCracken's arm.
But St Johnstone doubled their advantage of the stroke of half-time when Sandaza powered home Liam Craig's corner from close range.
St Johnstone had the first chance of the second half when Haber raced down the right and smashed a shot off the outside of the post.
Millar's 20-yard drive was then deflected wide by Pascali as the home side tried to kill the game.
Haber's pace was too much for Kilmarnock and James Fowler was forced to clear off the line on 55 minutes after Bell parried the Canadian's shot.
Kilmarnock were getting little joy but Shiels slashed a shot wildly over the bar after a McCracken slip.
Heffernan was then denied by a brilliant Enckelman save in the 63rd minute, the Finn tipping his volley over the bar.
Enckelman also punched Liam Kelly's dipping volley to safety as Kilmarnock upped the pressure.
St Johnstone's Millar was forced off through injury after 73 minutes as Carl Finnigan entered the fray.
Two-goal hero Sandaza was taken off to a standing ovation before the end as St Johnstone easily saw out the game.