Rangers were beaten for the first time in 41 league games as Dundee United handed the Scottish Premiership champions a shock 1-0 defeat on Saturday.
Rangers rocked as Dundee United end champs' unbeaten run
Rangers manager Steven Gerrard
Jamie Robson's second half strike at Tannadice condemned Steven Gerrard's side to their first league loss since Hamilton beat them in March 2020.
After opening their title defence with a comfortable victory against Livingston last weekend, this was a reality check for Rangers.
Although Rangers dominated possession and had more attempts on goal, they looked toothless for long periods and Robson made them pay.
It rounded off a frustrating week for the Glasgow club, who were beaten 2-1 in Malmo in the first leg of their Champions League qualifier on Tuesday.
Rangers have to bounce back quickly as Malmo visit Ibrox for the crucial second leg on Tuesday, while the first Old Firm derby of the season against Celtic looms on August 29.
"The result and performance is on me. We don't create clear-cut chances and that's on us," Gerrard said.
"When you face a setback, it's a chance to reset. We've got no time to feel sorry for ourselves. We've got a massive game in three days' time.
"Defeats are always raw. We've lost two games on the spin. We'll put it right."
Rangers striker Alfredo Morelos flashed a shot wide in the seventh minute before heading a Ryan Kent cross over the bar.
United goalkeeper Ben Siegrist dived to his right to parry away a powerful 25-yard drive from Rangers defender James Tavernier in the second half.
But Rangers were punished for their failure to convert those chances in the 64th minute.
Adrian Sporle's pass deflected off Steven Davis into the path of Robson, who steered a cool finish past Jon McLaughlin.
Hearts moved to the top of the Premiership with a 2-1 win at St Mirren.
Goals in either half from Andy Halliday and Liam Boyce saw Robbie Neilson's men extend their perfect start to the season.
St Mirren got a goal back late on through Joe Shaughnessy but finished the game with 10 men when Kristian Dennis was shown a straight red card moments later.