Kilmarnock 1-2 St Johnstone
St Johnstone's in-form strike force struck again as goals from Francisco Sandaza and Cillian Sheridan defeated Kilmarnock at Rugby Park.
Sandaza found space behind the home defence to fire home after 22 minutes.
St Johnstone's Liam Craig had to clear off the line before Steven Anderson sent a looping header into his own net for the equaliser on 36 minutes.
But Sandaza set up Sheridan to round goalkeeper Cammy Bell for the 73rd-minute winner.
The on-loan CSKA Sofia striker's fourth goal in three games means the Perth side move clear in fourth place.
St Johnstone boss Derek McInnes had made two changes, with Callum Davidson, who has now recovered from injury, the replacement for crocked fellow defender David McCracken and David Robertson taking the place of Chris Millar in midfield.
But Kilmarnock manager Kenny Shiels' two changes, handing 19-year-old defender Alex Pursehouse his second start of the season in place of the injured Liam Kelly, with fit-again James Dayton replacing Gary Harkins, initially looked to be the more effective.
The rejigged visiting defence was quickly under pressure, Dean Shiels played a neat one-two with Zdenek Kroca and only a brave Peter Enckelman save at the feet of the Northern Irishman prevented an opening goal.
Saints settled and Sheridan slipped past Mohamadou Sissoko but was denied by a fine, one-handed save from Bell.
The home defence were looking increasingly uncertain and, when Robertson poked the ball forward, Sandaza took advantage of Manuel Pascali's slip on the wet surface before firing low past Bell.
Kilmarnock responded and, after Enckelman let a corner slip from his grasp, Craig had to clear off the line when Kroca prodded the ball goalwards.
Rory McKeown's long-range effort struck the crossbar before Kilmarnock eventually registered.
Paul Hefferman had a powerful low drive turned wide by Enckelman at full stretch and, from the corner, the ball struck the head of Anderson under pressure from Pascali and Sissoko and it looped over the goalkeeper and into the net.
Kilmarnock ought to have taken the lead on the stroke of half-time when Hefferman set up Kroca and, although the defender neatly sidestepped his marker, he fired straight into the chest of Enckelman.
The home side were in control after the break and James Fowler curled an effort over then Enckelman flew across his goal for a fine one-handed block that prevented a deflected Heffernan drive giving Kilmarnock the lead.
Shiels squandered a chance in front of goal before Saints worked themselves back into the game and Sandaza's glancing header from a fine Sheridan cross was pushed away by goalkeeper Bell.
However, when Saints went ahead, it was thanks to a mis-control from Mohamadou Sissoko from which Sandaza slipped the ball through to Sheridan and the striker rounded Bell to roll into the empty net.
Bell sprawled full length to turn a Sandaza drive wide of the far post, but Saints had done enough to inflict Killie's first home defeat of the season.