Kilmarnock were without their goalkeeper Dragoje Lekovic, who injured a knee in the build-up to Yugoslavia's World Cup play-off victory over Hungary in mid-week. His replacement, Colin Meldrum, survived only five minutes before suffering the same fate as all the other keepers to face Rangers in the Premier League this season and picking the ball out of his net after a Negri goal. Kevin McGowne pulled down Brian Laudrup and when Paul Gascoigne played the free-kick across goal, Negri escaped his marker to head Rangers in front and continue his scoring sequence into a 10th successive game.
Rangers almost added a second when Stale Stensaas broke clear on the left, but Gascoigne headed the Norwegian's cross wide. Negri squandered a chance in the 28th minute when Laudrup delivered a perfect cross from the right, but the Italian's downward header from six yards bounced over the crossbar.
Rangers were controlling the pace of the match but paid for wasting their chance when Kilmarnock equalised a minute before half-time, Ally Mitchell sweeping the ball home from close range after Andy Goram parried Mark Roberts' header.
The goal was reward for Kilmarnock's determination to stick to their task despite being under pressure for long periods, but it did not take Rangers long to restore control. Negri again went close before Rangers had appeals for a penalty refused in the 56th minute.
The match finally turned their way with 12 minutes left when McGowne, booked for the foul that led to the opening goal, ran out of luck. His foul on Rino Gattuso proved one too many for the referee, Willie Young.
With Kilmarnock down to 10 men, Sergio Porrini put Rangers ahead five minutes from time after being set up by Laudrup. Negri tucked away a penalty two minutes later after the substitute Gordon Durie was fouled, and then the Italian made it 4-1 in the last minute with a header from Stuart McCall's cross.