Kilmarnock ended Rangers' unbeaten Scottish Premier League home record with a deserved win at a packed Ibrox.
Maurice Edu's header was cleared off the line by Killie's Liam Kelly before Dean Shiels slotted home on 12 minutes.
Ben Gordon shot over and James Fowler wide as Kenny Shiels' team dominated Rangers, who had defender Sasa Papac sent off for a lunge at Kelly.
The hosts, who are in administration, could not muster a goal and Mo Sissoko should have added a second for Killie.
As Rangers manager Ally McCoist pointed out on the eve of this match, fans have lost their lives in disasters at Ibrox, which puts the club's entering administration into perspective.
However, at the end of a harrowing week for Rangers and a rallying cry from McCoist, the home fans turned out to fill Ibrox, a heaving, emotional cauldron when the teams emerged.
Rangers fans display a defiant banner
There was no Daniel Cousin in the Rangers line-up after the SPL declined to register the Gabon striker, a penalty for administration.
Kilmarnock manager Shiels had in midweek spoken sympathetically of the SPL champions' predicament, suggesting having McCoist at the helm was "like the man from above when he sends Jesus down".
But, in the opening half hour, the Ayrshire side proved they would be no meek lambs to the slaughter, instead slicing through Rangers at will.
A Sone Aluko Rangers corner was headed on target by Edu only for Kelly to hoof the ball off the line. But, after that, Killie had the upper hand and soon took the lead.
Shiels eased past a few Rangers defenders and clinically placed the ball to goalkeeper Allan McGregor's right to give Killie thoughts of ending the day in the top half of the table.
Moments later, Killie's Liam Kelly won a telling tackle and set up striker Paul Heffernan, who blazed over the bar.
A Carlos Bocanegra effort from an Aluko cross flew narrowly over Cammy Bell's crossbar before the visitors wasted another chance when Ben Gordon powered a shot high over the bar from 10 yards.
While Shiels was surely fizzing at such profligacy, McCoist was forced to withdraw the injured Dorin Goian for 22-year-old Ross Perry, then winced as David Healy's "goal" was ruled offside.
Kirk Broadfoot, in for Kyle Bartley, blocked a Heffernan effort then the Irish striker pulled the ball back for James Fowler, who shot inches wide.
It took Bell two attempts to keep out an Aluko squiggler from outside the box before things worsened for Rangers when Bosnian defender Papac was red-carded for a crude challenge on Kelly.
After the break, Rangers tried to be more assertive, aided by the substitution of David Healy for Mervan Celik.
But Killie remained dangerous and claimed for a penalty when Gordon's cross hit Bocanegra's arm in the box. Referee Iain Brines decided the contact was accidental.
Killie squandered another chance when Sissoko hooked the ball over from six yards, Garry Hay and James Fowler involved in the set-up.
As chances became scarce, McCulloch was punished for a foul on Bell just as the home fans thought he had equalised.
Shiels withdrew former Hearts midfielder Lee Johnson in favour of James Dayton to further stretch unconvincing Rangers.
The roar that met the players at kick-off had diminished by the end of the match.
Killie's wasted chances had not affected the destination of the three points, while, for the wounded hosts, the gap to league leaders Celtic remained at 14 points.
Rangers 01 McGregor 02 Goian (Perry - 20' ) 04 Broadfoot (Kerkar - 58' ) 05 Papac Dismissed 12 Wallace 18 Bocanegra 06 McCulloch 07 Edu Booked 08 Davis 19 Aluko 15 Healy (Celik - 45' ) Substitutes 25 Alexander 32 Perry 24 Celik 27 Wylde 41 McCabe 28 Kerkar 38 Hemmings Kilmarnock 01 Bell 02 Toshney Booked 03 Hay 04 Fowler 06 Nelson 19 Gordon Booked 88 Sissoko 08 Kelly 18 Johnson (Dayton - 74' ) 20 Shiels (Racchi - 90' ) 14 Heffernan Substitutes 17 Letheren 13 Kroca 23 McKeown 07 Silva 10 Dayton 22 Racchi 33 Kennedy