Hearts recorded only their second home league win of the season against a Celtic side who had broken the Scottish Premier League scoreline record with their 9-0 win over Aberdeen the Saturday before.
The visitors, who had to play 35 minutes with ten men, lost ground in the SPL title race, with champions Rangers a point clear at the top of the table.
Hearts, who had beaten rivals Hibs at Easter Road at the weekend, had the better of the first half, though the visitors looked brighter in the opening few minutes. Shaun Maloney had the first effort on goal, but the shot trundled tamely into the arms of goalkeeper Marian Kello.
It was not long before Hearts began to assert themselves, however, winger David Templeton in particular causing problems down Celtic’s left flank.
On 12 minutes the Celtic defence looked unsettled as Ismael Bouzid rose to meet a corner before the ball was scrambled away.
Moments later Hearts’ Stephen Elliot headed off the bar with the goal gaping as he reacted instinctively to Templeton’s cross-cum-shot.
Shortly before the half-hour, Hearts scored the goal their play merited, Ian Black’s shot deflecting off Celtic defender Daniel Majstorovic, over Fraser Forster, and into the net.
After posting a new scoring record, Celtic were finding Hearts’ defences more difficult to breach, with the final ball letting them down.
When Gary Hooper did manage to get in behind the home side’s back four he was booked for diving as he went to ground when Kello raced off his line.
Hooper then had a glorious chance to level the score shortly before the break, but after good work by Anthony Stokes, the Englishman was unable to direct the ball past Kello, who saved well from eight yards.
Instead, it was Hearts who nearly doubled their lead before the interval, Rudi Skacel stinging Forster’s palms.
The second period started scrappily but exploded to life when Celtic midfielder Joe Ledley was shown a straight red card for a two-footed lunge on Black.
While Celtic boss Neil Lennon decided how to reorganise his ten men, Maloney lost the ball in midfield, Skacel collected it and raced down the left channel.
The Czech slid an accurate pass across the box for Templeton, who fired the ball under Forster from ten yards.
Celtic had a good claim for a penalty turned down when Ryan Stevenson handled in the box, and Celtic boss Lennon was sent to the stand for his angry protestations over referee Craig Thomson’s decision.
But Celtic were unable to pick themselves up off the canvas and Hearts eased to a comfortable victory.
Hearts: Kello, Jonsson, Palazuelos, Bouzid, Mrowiec, Zaliukas, Templeton, Black, Kyle, Elliott, Skacel.