A second-half own goal from Jason Holt was the difference in Perth after Rangers had to show patience to find the crucial breakthrough.
From the impressive midweek victory against Nice in the UEFA Europa League, there were two changes to the starting line-up in Perth.
James Tavernier came in from the start to replace the injured Dujon Sterling, while Ianis Hagi started his first game for the club since May 2023, with Mohamed Diomande on the bench.
That meant that Rangers lined-up with Jack Butland in goal, behind a back four of James Tavernier, John Souttar, Robin Propper and Jefte.
Nico Raskin and Connor Barron were joined in midfield by Hagi, while Hamza Igamane, who was on target twice in Thursday’s victory, retained his place in attack supported by Nedim Bajrami and Vaclav Cerny.
It was Rangers who got the action underway, and it was a fairly open start to the match at McDiarmid Park. St Johnstone were the first to have a chance at goal as Andre Raymond tried a shot from distance on the left-hand edge of the box which flashed just wide of Jack Butland’s post.
A good bit of play opened up a first chance of the match for Rangers as Bajrami found Jefte on the overlap on the left-hand side. He delivered the ball into Hamza Igamane but his shot was blocked by a St Johnstone body in the box.
With 15 minutes played, Clement’s men had their best chance of the game so far as Vaclav Cerny cut in from the right to release a powerful strike at goal, but it was just wide of Josh Rae’s post.
Rangers were getting closer to finding an opening in Perth and Josh Rae pulled off a good save with 25 minutes played to push away a strike from Igamane from inside the box after he was played through by Connor Barron.
Bajrami was next to have an opportunity to break the deadlock as a James Tavernier cross fell for the Albanian in the box, but he was unable to get a clean connection on the ball and it was held by Rae.
Bajrami again forced a save from the St Johnstone goalkeeper minutes later as he reacted well to push wide a powerful hit at the near post.
Clement turned to his bench at half-time as he introduced Ridvan and Leon Balgoun in place of Nedim Bajrami and Robin Propper.
In the first minute of the second-half, Hagi saw a looping effort go just over the target as Rangers looked for a strong start after the break.
Igamane had a shot held by Rae, before captain James Tavernier saw a free-kick from 25-yards pushed away by the goalkeeper.
With 58 minutes played, Danilo was introduced in place of left-back Jefte with Ridvan taking up the left-back position and Ianis Hagi moving out to the left-wing.
Shortly after, Rangers had the advantage in Perth as the early pressure in the second-half paid off. The ball was delivered into the box by Connor Barron, with Ianis Hagi picking it up on the far side of the area. He returned it back across the face of goal and with captain James Tavernier putting Jason Holt under pressure at the back post the St Johnstone man turned it into his own net.
Danilo had a good strike matched with a save from Rae, before the St Johnstone keeper denied Ianis Hagi a goal as Rangers looked to increase their advantage but it wasn’t to be as the own goal proved to be the difference and earn the Light Blues the three points.
RANGERS: Butland, Tavernier, Souttar, Propper (Balogun, 46), Jefte (Danilo, 58), Raskin, Barron, Hagi, Cerny (Dowell, 86), Bajrami (Ridvan, 46), Igamane (Diomande, 76).
Subs: Kelly, Dessers, King, McCausland.
St Johnstone: Rae, Mikulic, Raymond, Sanders, Holt (Kucheriavyi, 80), Clark (Neilson, 57), Carey (Essel, 46), Wright, Sprangler (Sidibeh, 67), Kirk, Kimpioka (McPake, 80).
Subs: Sinclair, Cameron, Smith, Franczak.