Match ends, Kilmarnock 0, Celtic 1.
Captain Scott Brown was shown a second yellow card for celebrating after his 90th-minute winner at Kilmarnock moved Celtic eight points clear in the Scottish Premiership.
Brown's shot struck Alex Bruce and spun past Dan Bachmann to earn the leaders a first win in three games in Ayrshire.
Kirk Broadfoot had earlier been sent off for a high challenge on Brown.
The win maintains Celtic's record of winning all of their eight domestic games in 2019 without conceding.
And with Rangers and Aberdeen failing to win on Saturday, it means Brendan Rodgers' side have responded to their Europa League humbling against Valencia by extending their lead in the Premiership.
Kilmarnock, who had a Conor McAleny effort disallowed for handball, stay fourth and sit one point behind Aberdeen.
It had been an assured start to the new year for Celtic. Seven wins, 21 goals scored, none conceded. Then it was derailed with Thursday's 2-0 reverse against Valencia.
Early on in Ayrshire it did not look like they were suffering any hangover. They began in their usual confident manner, but after two early attempts from Odsonne Edouard failed to find the net, Kilmarnock began to grab a foothold in the game.
It was an all too familiar feeling for Celtic. They had lost on their last two trips to Rugby Park, and they spent the last few minutes of the first half on the ropes. Jordan Jones skipped past his man and floated in a dangerous ball, then McAleny also bustled his way through the backline before a last-ditch challenge stopped him as he was about to shoot.
With Kieran Tierney and Emilio Izaguirre missing, Jonny Hayes slotted in at left-back for Celtic. The Republic of Ireland winger has had a troubled time at Celtic, and Kilmarnock began to pinpoint him as a weakness. But when Celtic went forward, Hayes was at the centre of much of their work as play bounced from end to end.
The game had a cup-tie feel about it. A point would not have been the worst for either side, with Celtic comfortable at the top and Kilmarnock in the mix for a Europa League spot. But both continued to pour forward at every opportunity.
McAleny found the net for Kilmarnock with a lovely turn and shot, but referee Bobby Madden correctly ruled it out for handball.
But Celtic were beginning to have the better of it when Kilmarnock found themselves a man down. Broadfoot's foot was high when he lunged at Celtic captain Brown, catching him on the ankle. The referee showed him a straight red card, and suddenly the hosts' task had grown.
Ryan Christie headed just wide as Celtic pressed for a winner, but Kilmarnock looked like they had survived the pressure before Brown steamed on to a Dedryck Boyata header to skid past Bachman with the aid of Bruce's unfortunate intervention.
Brown, already on a yellow card for an earlier challenge on Greg Taylor, was then ordered off after rushing to the crowd during wild celebrations.
'A draw would have been fair' - analysis
Livingston head coach Gary Holt on Sportsound
A draw would probably have been a fair result. When Kilmarnock went down to 10 men, Celtic raised the tempo. They've got pace, power, and when the game opened up they started to stretch Kilmarnock.
I don't think you can argue with Kirk Broadfoot's red card. It's late, his foot is high. It was just a late, mistimed challenge. It looked silly, but he had to go for it.
At the goal it's mindless from the fans behind the goal, and it's probably caused Scott Brown to get his second yellow card.
'I couldn't see Celtic scoring' - reaction
Kilmarnock manager Steve Clarke: "I thought we were good today. I thought there were two good teams on pitch. We didn't deserve the bad break at the end. We're a little unfortunate.
"It's frustrating to play so well and not get anything from the game. Even after going down to 10 men we looked reasonably comfortable. I couldn't see Celtic scoring."
Celtic manager Brendan Rodgers: "We weren't settling for a draw. I thought we played very well considering we had a game of such intensity and difficulty on Thursday.
"It is never easy here, you have got to break through their block and they are very well organised. You know there are not going to be many chances so you have got to be ready."
- 5BroadfootBooked at 75mins
- 29BurkeSubstituted forMcKenzieat 84'minutes
- 15McAlenySubstituted forMillarat 82'minutes
- 25BrophySubstituted forBruceat 77'minutes
- 8BrownBooked at 90mins
- 49ForrestSubstituted forWeahat 77'minutesBooked at 90mins
- 17ChristieSubstituted forBayoat 89'minutes
- 22EdouardSubstituted forBurkeat 69'minutes
- Bobby Madden
- Shots on Target
Timothy Weah (Celtic) is shown the yellow card for excessive celebration.
Second Half ends, Kilmarnock 0, Celtic 1.
Timothy Weah (Celtic) hits the right post with a right footed shot from the right side of the box following a fast break.
Jordan Jones (Kilmarnock) wins a free kick in the defensive half.
Foul by Timothy Weah (Celtic).
Second yellow card to Scott Brown (Celtic) for excessive celebration.
Goal! Kilmarnock 0, Celtic 1. Scott Brown (Celtic) right footed shot from the centre of the box to the bottom left corner. Assisted by Dedryck Boyata following a corner.
Corner, Celtic. Conceded by Alex Bruce.
Attempt blocked. Vakoun Issouf Bayo (Celtic) right footed shot from very close range is blocked.
Substitution, Celtic. Vakoun Issouf Bayo replaces Ryan Christie.
Attempt saved. Dedryck Boyata (Celtic) header from the centre of the box is saved in the bottom left corner.
Substitution, Kilmarnock. Rory McKenzie replaces Chris Burke.
Substitution, Kilmarnock. Liam Millar replaces Conor McAleny.
Attempt missed. Ryan Christie (Celtic) header from the centre of the box is close, but misses to the left.
Foul by Conor McAleny (Kilmarnock).
Scott Sinclair (Celtic) wins a free kick in the defensive half.
Substitution, Celtic. Timothy Weah replaces James Forrest.
Substitution, Kilmarnock. Alex Bruce replaces Eamonn Brophy.
Kirk Broadfoot (Kilmarnock) is shown the red card.