This result must go down as one of the shocks of the season so far. Dunfermline, bottom of the table, and unable to field their full complement of substitutes, incredibly defeated the leaders.
A well-taken goal by Greg Ross in the 17th minute was all that separated the sides.
Celtic mounted a siege in the second half, with even keeper Artur Boruc up for corners, but lacked the subtlety to break down a heroic Dunfermline defence.
After their two recent Old Firm victories, Celtic were brought back down to earth but with Hearts drawing at Motherwell they held on to top spot.
The visitors looked sharper from the kick-off and won a corner in the first minute, which came to nothing.
Chris Sutton won possession but could only direct his cross into the arms of Allan McGregor in the Dunfermline goal.
It was a quiet start by the home side and the home crowd were further displeased when Stephen McManus headed the ball away for a corner with Boruc waiting to catch it.
That was nothing compared with the shock when Dunfermline took the lead with a well crafted goal.
Ian Campbell, who had come on for Yannick Zambernardi, chipped his free-kick forward and after collecting the return floated his cross to the far post where Noel Hunt headed down for Ross to slide the ball under Boruc from close range.
Amazingly the visitors nearly went further ahead moments later. After switching the ball from left to right, Jamie McCunnie's cut back was sweetly met by Ross, but Boruc did well to parry his effort and even better to block Hunt's follow-up shot.
It was not until the 33rd minute that Celtic won their first corner which emphasised their lack of a potent threat in the first half.
Bobo Balde even surged forward when he could and from one such charge he played in a great ball which neither John Hartson nor Sutton could take advantage of.
If the first half belonged to Dunfermline, then certainly the second was all Celtic, but apart from Aiden McGeady they lacked anyone with the necessary subtlety to spark a recovery.
Sutton and Hartson both looked very static, with Alan Thompson well off the pace.
Paul Telfer conceded a corner and from a McCunnie cross Boruc flapped at the ball but the danger was eventually cleared.
McGeady had a turn and shot from the edge of the box which McGregor held at the second attempt. This was Celtic's first direct effort on target and it took until the 50th minute to arrive.
Sutton's header from Thompson's cross was held by McGregor but Scott Wilson and Andy Tod were holding firm in the middle of the visitors' defence, ably assisted by sweeper Greg Shields.
It was no surprise when the ineffectual Thompson was taken off, with Maciej Zurawski returning from a long lay-off on account of a hamstring injury.
Celtic gradually increased the pressure and Telfer headed over a McGeady corner. From Mo Camara's cross Sutton blazed wildly over from the edge of the box as the home team's efforts became increasingly frantic.
McManus went down in the box under a challenge but referee Craig MacKay waved away their claims, though it looked a close call.
Hartson was next to see his flashing header go over but Celtic just could not create a clear-cut chance.
Stephen Pearson came on for Camara with 13 minutes remaining and Boruc joined the attack at corners, but Celtic just could not find the space or guile to create a decent chance.
From McManus' cross Sutton glanced a header wide, with which he might have done better, but Dunfermline deservedly held on for a coupon-busting result which lifted them off the bottom of the league.