Glasgow Celtic 2 Glasgow Rangers 1
Chris Sutton put the home team ahead but, after Fernando Ricksen equalised just after half-time, it was John Hartson who was the Celtic hero with the winning goal 13 minutes from time.
The victory extended Celtic's unbeaten run at Parkhead to 11 games against their Old Firm and it was undoubtedly a deserved victory for the home team.
Alan Hutton headed against his own post from Alan Thompson's cross before Rangers keeper Stefan Klos desperately fell on the ball on his line as Celtic dominated the first half.
It was no surprise when the home side took the lead just before the interval. From Robert Douglas' long clearance, Hartson glanced a header onto Sutton who beat Marvin Andrews to the ball before shooting low under Klos.
Rangers drew level immediately after the break with a well worked goal. Alex Rae's pass found Hutton wide on the right and when the wing-back's cross eluded Stanislav Varga, Ricksen scored with an emphatic header.
The Bhoys' response was immediate and Klos fumbled an Aiden McGeady cross before managing to gather the ball on his line.
From Thompson's corner, Sutton glanced a header goalwards only to see Klos make a fine save at his near post.
Celtic regained the lead when Sutton cleverly dummied Didier Agathe's cross, allowing Hartson to fire home at the back post with a shot which deflected off Andrews.
With ten minutes remaining Rangers sent on Steven Thompson and from his header Thomas Buffel shot over - and with it went Rangers' last chance of salvaging a draw.