Livingston brought an end to leaders Rangers’ 100% record as Steven Gerrard’s side missed the chance to go eight points clear of Celtic.
Lyndon Dykes sat out for Livi, who have accepted a QPR bid for the striker.
Max Stryjek saved a Borna Barisic free-kick and Ryan Kent twice came close for the visitors, who return to the top of the table on goal difference.
Craig Sibbald almost caught out Rangers keeper Jon McLaughlin with an audacious attempt from his own half.
Referee Nick Walsh was satisfied there had been no infringement after Kent’s shot appeared to strike the arm of Jon Guthrie in the Livingston box early on.
Kent tried to take matters into his own hands with a run and shot from the left that was dealt with by Stryjek, who had replaced on-loan Rangers keeper Robby McCrorie in the starting line-up.
The introduction of Brandon Barker and Kemar Roofe did little to unsettle the home side, who lost the influential Marvin Bartley to injury before the hour, and Morelos made way for Cedric Itten after nodding over.
In one of few forays forward, Sibbald spotted an opportunity to catch McLaughlin off his line and the midfielder’s almighty chip was gratefully gathered by the keeper.
Barisic had opened the scoring in the midweek win over St Johnstone with a free-kick and was given another set piece chance after Jason Holt fouled Glen Kamara but Stryjek got his hand to the shot before the home team scrambled clear.
One further clear opening came Rangers’ way with Kent getting into a shooting position on the edge of the box but he curled wide.
Man of the match – Jon Guthrie
What did we learn?
If Dykes’ exit is imminent, the role of bustling centre-forward will fall on Jack Hamilton and the 20-year-old caused the Rangers defence problems in the first half even with limited service.
Livi’s defensive unit was much more reminiscent of last season, dealing with countless dangerous balls into the area as Gary Holt’s side secured their second point of the season.
Rangers had the kind of dominance in possession they enjoyed in their previous three league games but it did not translate into pressure until the second half.
Sweden defender Filip Helander, making his first Premiership start of the season, looked uncomfortable on the artificial surface after coming in for the injured Leon Balogun and Joe Aribo’s absence in midfield made them less forceful in possession.
What did they say?
Livingston head coach Gary Holt: “I think you’ve got to praise big Jack Hamilton, who didn’t know he was coming in until late. I was delighted with him.
“It’s hard work, it’s tough, especially against a very good Rangers team. I think we deserved a clean sheet. Everyone did their job.”
What’s next?
Rangers host Kilmarnock on Saturday and Livingston visit Aberdeen the following day.