Rangers narrowed the gap to Celtic at the Scottish Premiership summit to one point as Kevin Kelsy's double helped them to an emphatic victory over St Johnstone.
Wild weather conditions at Ibrox did not deter Derek McInnes's side as they bounced back from dropping points at Dundee last weekend to extend their unbeaten run to eight matches.
Rangers dominated the first half and only a combination of wayward finishing and some inspired goalkeeping from Toby Steward in the St Johnstone goal kept the scores level.
That changed just before the half-hour mark when Kim Min-Su carved open the defence with a superb ball to Ryan Naderi, who unselfishly squared for Kevin Kelsy to fire home the opener.
The hosts looked to go for the jugular, with Min-Su unlucky to see his effort from 20 yards crash off the outside of the post before Steward pulled off an excellent save to deny Kelsy a second goal.
St Johnstone were afforded few opportunities to break forward, though Josh Fowler should have done better than hit the side-netting after he was put clean through on Ivor Pandur.
Having had total control before the break, Rangers found themselves under pressure at the start of the second half, but Ryan Naderi settled the home fans' nerves when he tapped home from close range after Steward could only parry Kim's effort.
Kelsy stole in at the back post to turn home Emmanuel Fernandez's flick-on from a corner to put the result beyond doubt.
St Johnstone's misery was compounded when substitute Kai Fotheringham was shown a red card for a studs-up challenge on Nico Raskin following a video assistant referee (VAR) review, and Djeidi Gassama teed up fellow substitute Tochi Chukwuani to give the final scoreline a little polish for Rangers.