Hearts 2-0 Celtic
Rudi Skacel and Ryan Stevenson were on target as Hearts moved up to fourth place in the Scottish Premier League with a win over 10-man Celtic.
Fifty-eight minutes into a helter-skelter contest, Skacel drilled in a great strike from 16 yards.
Celtic then had midfielder Kris Commons sent off for an ugly, late challenge on Adrian Mrowiec.
Hearts sealed the points when Stevenson picked up a clever back-heel from David Templeton to crash home a shot.
The victory pushes the men in maroon ahead of St Johnstone on goal difference, while Celtic remain in third spot, ten points adrift of leaders Rangers.
Neil Lennon's side have lost three of their league fixtures this term, compared to just four defeats over the course of last season.
Tynecastle passed a morning pitch inspection following heavy overnight rain and the home side started like lightning on the zippy, wet turf.
The Celtic defence was caught napping at a fourth-minute free kick from Ian Black, with Hearts' lone striker Stevenson allowed a free diving header that Fraser Forster did well to tip round his post.
Soon after, Hearts skipper Marius Zaliukas hit the post with a shot from the penalty edge of the box, with Forster unsighted by a cluster of players following a corner.
Celtic took a while to get their strikers involved as a frenetic midfield battle raged on in the Edinburgh rain but the visitors should have taken the lead on 20 minutes.
A poor header from Danny Grainger allowed James Forrest to scamper forward and cross from the right to find Bangura but the recent arrival's close-range header was not powerful enough and Jamie MacDonald got down smartly to make a fine stop.
From the resulting corner, Commons drilled in a shot that MacDonald had to turn away at his near post.
The game deteriorated, with the flow regularly interrupted due to the number of fouls being committed but both sides continued to fashion chances.
Forster made a fantastic save at full stretch to prevent Hamill's curling free-kick from 20 yards finding the top corner and MacDonald's palms were stung by a thunderous long-range strike from Commons before the interval.
Celtic made a strong start to the second half, with some sharp passing in midfield forcing the home side to sit deeper and deeper.
However, Hearts took the lead out of the blue when Hamill hoisted a high ball into the penalty area and Skacel latched on to a touch from Templeton to rifle a fierce, angled shot beyond Foster from 16 yards.
And things went from bad to worse for the visitors six minutes later as Commons was shown a straight red card for a late lunge at Mrowiec after losing control of the ball inside the centre circle.
Celtic responded with a shot from substitute Mark Wilson that was parried wide by MacDonald but Hearts were further ahead on 81 minutes.
Templeton scurried after a long ball over the top of the Celtic defence and conjured up a back-heel on the byeline that fell nicely for Stevenson, who was composed enough to evade the advancing Forster before slamming a shot high into the net.
The depleted visitors could not find a way back against a resolute Hearts defence, with the home side happy to hit on the break over the closing minutes.