Emmanuel Fernandez headed home a James Tavernier corner early in the game, but the visitors equalised shortly after through Tete Yengi.
It wasn’t until the 78th minute that Gers were able to restore their lead and secure the points with Mohamed Diomande netting a crucial first goal of the season.
Gers are back in action following the international break, and from the last outing against Dundee, there are four changes to the starting line-up.
John Souttar, Derek Cornelius and Mikey Moore all missed out through injury. While Youssef Chermiti, who came off the bench at Dundee, was also out of the matchday squad due to injury.
Rangers lined-up at Ibrox with Jack Butland in goal behind a back four of James Tavernier, Nasser Djiga, Emmanuel Fernandez and Jayden Meghoma. Nico Raskin and Mohamed Diomande were in midfield, with Thelo Aasgaard occupying a more advanced role.
Danilo led the line in attack, with support from wingers Djeidi Gassama and Oliver Antman.
It was Rangers who got the action underway at Ibrox, and with the first corner of the match, managed to take an early lead.
James Tavernier delivered a superb ball into the box, and Manny Fernandez, who was making just his second league start of the season, got a strong connection to glance a fantastic header beyond Prior and into the back of the net.
However, it was the visitors who were back level inside the opening 20 minutes. A long ball forward from Stevie May evaded the Rangers defence and sent Tete Yengi through on goal. The Livingston striker took a touch to take the ball down before finishing low beyond Butland.
Rangers were still controlling the possession and tempo in this one as they looked to restore the lead before the break but David Martindale’s side were proving difficult to break down.
Frustration was growing inside Ibrox as the game approached half-time still level with Gers failing to really threaten the Livingston goal since the equaliser.
There was a change at the break for Danny Röhl as Bojan Miovski was introduced as he replaced Thelo Aasgaard.
The striker had a chance inside the first couple of minutes as he got a head on the end of a James Tavernier cross but he was unable to guide it on target as it went just high of Prior’s goal, but it was a positive start to the half for Gers.
A free-kick opened up an opportunity for David Martindale’s side with Mahamadou Sissoho flashing a shot wide after it fell for him just outside the box.
There was a second change of the afternoon for Rangers with Oliver Antman replaced by Nedim Bajrami for the final 25 minutes.
Bajrami was involved instantly as he launched an attack on the break before finding Bojan Miovski. The striker laid it off for Gassama who turned onto his left-foot to curl a shot just inches wide of the post.
At the other end, Butland pulled off a fantastic save to deny Tete Yengi a second goal of the afternoon.
Rangers had the lead with just over 10 minutes remaining and it was Mohamed Diomande who came up with the crucial goal.
A ball over the top from James Tavernier was touched on by Miovski and into the path of the midfielder who tapped into an empty net. A VAR check followed for offside, but the goal was confirmed as Diomande was awarded his first goal of the season.
After an earlier head knock, there was eight minutes added time at Ibrox, as Connor Barron and Lyall Cameron were both introduced for the final period.
Livingston came close as Robbie Muirhead fired over the bar after getting on the end of a free-kick, but Rangers secured the points.
RANGERS: Butland, Tavernier, Djiga, Fernandez, Meghoma (Aarons, 84), Raskin, Diomande (Barron, 89), Aasgaard (Miovski, 46), Gassama (Cameron, 89), Antman (Bajrami, 64), Danilo.
Subs: Kelly, Nsiala, Rothwell, Curtis.
Livingston: Prior, Sissoho, Pittman, May (Muirhead, 72), Finlayson, Sylla (Robinson, 76), Tait (McGowan, 61), Castillo (Shinnie, 64), Wilson, Yengi (Bokila, 72), Lawal.
Subs: Hamilton, Carey, Smith, Winter.