Celtic moved to within a point of Scottish Premier League leaders Rangers thanks to an own goal from Kilmarnock's Martyn Corrigan in Glasgow.
Alan Combe was the Kilmarnock hero, the goalkeeper producing a series of fine saves to deny Scott McDonald and substitute Derek Riordan.
Claims for a penalty when McDonald went down were waved away after the break.
But Corrigan deflected a wayward Scott Brown drive into the net on 64 minutes for a fortunate but deserved win.
Paul Hartley had come into the reigning champions' midfield in place of the suspended Aiden McGeady.
Kilmarnock's suspended top scorer, Colin Nish, was replaced with Mehdi Taouil, who went on to produce a classy display in midfield.
Defender Frazer Wright returned from suspension to take over from Tim Clancy, while Craig Bryson came in for Gary Locke.
Both sides threatened in the early stages, although Combe was the first goalkeeper to be called into action, diving to turn a Scott McDonald drive round the post.
But Celtic suffered a double injury blow, with Chris Killen and Riordan coming on as replacements after 17 minutes.
Jan Vennegoor of Hesselink was withdrawn with blood streaming from a headwound after a clash of heads, while Andreas Hinkel came off with what looked like a hamstring problem.
Combe came to Killie's rescue again, blocking a volley at point-blank range after his defence allowed a cross to reach McDonald.
A fine Shunsuke Nakamura cross found Brown breaking into the box, but the midfielder's glancing header flew a couple of yards wide.
Celtic's Jan Vennegoor of Hesselink came off early with a cut head
Garry Hay did well to block at the front post after a low Killen cross found McDonald.
Celtic were now in total control and Combe did superbly to tip the ball over the top following a deft chip by Riordan.
When Combe failed to hold the subsequent corner, the ball was cleared off the Killie line after a goalmouth melee.
Combe followed that with a superb, one-handed save after Riordan had broken forward before firing a powerful drive from just outside the penalty box.
McDonald was first to threaten after the break but headed straight at Combe from a Nakamura corner.
The Australian striker was booked for complaining when he was denied a penalty after being sandwiched between two Killie defenders.
Kilmarnock looked to have weathered the storm until Brown's 20-yard drive was turned into his own net by Corrigan.
Killen sent a 20-yard drive just over as Celtic looked to consolidate.
Lee Naylor's last-ditch tackle prevented Paul Di Giacomo having a late opportunity in front of goal to equalise, but Celtic held on comfortably.
--------------------------------------------------------------------------------
Celtic: Boruc, Hinkel (Riordan 18), Caldwell, McManus, Naylor, Nakamura (Sno 89), Scott Brown, Donati, Hartley, McDonald, Vennegoor of Hesselink (Killen 17).
Subs Not Used: Mark Brown, Zurawski, O'Dea, Conroy.
Booked: McDonald.
Goals: Corrigan 64 og.
Kilmarnock: Combe, Fowler, Frazer Wright, Ford, Hay, Hamill, Corrigan, Bryson (Gibson 80), Taouil, Invincibile (Fernandez 88), Di Giacomo.
Subs Not Used: Harpur, Johnston, Morgan, O'Leary, Clancy.
Booked: Di Giacomo, Gibson, Hamill.
Att: 56,618
Ref: M McCurry
BBC SPORT | Football | Scottish Premier | Celtic 1-0 Kilmarnock