There had been talk of fake news in the bizarre build-up to this one and a 3-0 scoreline probably wasn’t an accurate reflection of a match that was evenly contested for the majority of it.
The first defining moment was another soft goal conceded by the Perth men to add to the nine Tommy Wright had identified so far in this league campaign to allow Carlos Pena his first half opener.
Saints were still in the hunt deep into the second period but Steven Anderson’s sending off altered the complexion dramatically and Rangers ran away with things from then on, with Pena grabbing his second and Dorrans the Ibrox side’s third.
The result takes Rangers three points above Wright’s side in the Premiership table.
Saints were back to a familiar 4-4-2 and there was the unfamiliar sight of Chris Millar in the starting line-up for the first time in the league this season. He replaced Paul Paton.
The other post-Pittodrie personnel change was David Wotherspoon for Scott Tanser.
There was still no Kenny Miller in the Rangers squad but Bruno Alves returned from injury and captained the side. Jason Holt filled in for suspended Ryan Jack.
Saints made a bright start and forced a couple of early corners but nothing came of them.
Aaron Comrie was doing his best to push forward from right-back and when he was picked out on the overlap on 10 minutes his cross was sent into a good area but Wotherspoon couldn’t make anything of it.
On 16 minutes Murray Davidson brought down Alfredo Morelos on the edge of the box. Rather than go for goal – which would have been the sensible option – Josh Windass tried to catch Saints out with a disguised pass to Declan John but they made a mess of it and Rangers didn’t even get a shot on goal.
With one brilliant sliding interception from Davidson in the middle of the pitch Saints were quickly on a 23rd minute attack and Graham Cummins forced the first save from either keeper, with Wes Foderingham tipping his left foot shot over the bar.
The Perth men were pretty comfortable at this point but they were behind when Rangers produced their first decent cross of the night from James Tavernier.
Pena would have seen it late after the ball found its way over the Saints centre-halves to the back post but his first-time finish was lethal and gave Alan Mannus no chance.
The game had a different feel about it now and Rangers were starting to knock the ball about with more purpose and accuracy. They didn’t create another chance in the half, though, and it was Saints who finished the first 45 stronger.
They won a 44th minute corner, from which Cummins hooked a close-range shot from a tight angle over Foderingham and over the bar.
Saints picked up where they left off and were the first team to threaten after the re-start. Millar did well to wriggle free on the right and his cross into the danger area caused a bit of panic in the Rangers defence but the ball just wouldn’t fall nicely to a Saints boot.
There looked to be a foul by Rangers on the edge of the home box on 53 minutes but nothing was given and when Windass put Morelos through he should have scored but Mannus saved with his feet.
A move down the right four minutes later culminated in a cut-back for Pena, whose scuffed shot beat Mannus but trundled past the post.
Around the hour point Saints had Rangers pinned in and won five corners in a row. The delivery from all of them was pretty good and Foderingham pretty unconvincing when they came down on top of him. His defenders were able to offer decent protection, though, to keep the scoreline at 1-0.
Things got worse for Saints on 71 minutes when their captain got sent off for pulling back Morelos. Anderson had been yellow-carded a few minutes earlier after a scuffle in the Rangers box.
By this stage Paul Paton had come on for a tiring Millar and another switch was made shortly after the red card – Craig Thomson for Cummins.
A second Rangers goal was looking increasingly likely and it came on 78 minutes when Pena powered home a header at the back post.
It was now all about damage limitation and the bar kept out a Dorrans strike before the same man made no mistake with a low finish on 86 minutes.
St Johnstone – Mannus, Shaughnessy, Anderson, Millar (Paton 70), Davidson, MacLean (Johnstone 82), Wotherspoon, Comrie, Scougall, Easton, Cummins (Thomson 74). Subs not used – Clark, Tanser, Gordon, Craig.
Rangers – Foderingham, Tavernier, John, Cardoso, Dorrans, Windass (Nemane 90), Morelos (Herrera 90), Candelas, Alves, Holt, Pena (McCrorie 85). Subs not used – Alnwick, Gomes, Hodson, Barjonas.
Referee – Don Robertson.
Attendance – 6,887.