61 mins: … But Hearts win the ball back rapidly, and Shankland’s clever pass towards Kabore is intercepted at the cost of another corner.
Hearts’ title challenge collapsed in the final minutes as Celtic made it five in a row
Sat 16 May 2026 10.35 EDT
First published on Sat 16 May 2026 06.32 EDT- Martin O'Neill: 'One more season? I just don't know. I really don't'
- Sky: Hearts players were assaulted by pitch-invading fans
- Celtic are Scottish Premiership champions again!
- GOAL! Celtic 3-1 Hearts (Osmand, 90+8 min)
- GOAL! Celtic 2-1 Hearts (Maeda, 88 mins)
- Celtic have the ball in the net, but the flag is up!
- Iheanacho hits the post
- Half time: Celtic 1-1 Hearts
- GOAL! Celtic 1-1 Hearts (Engels, 45+4 mins)
- Penalty to Celtic!
- GOAL! Celtic 0-1 Hearts (Shankland, 43 mins)
- The teams!
- Hello world!

Sat 16 May 2026 10.35 EDT
First published on Sat 16 May 2026 06.32 EDT- Martin O'Neill: 'One more season? I just don't know. I really don't'
- Sky: Hearts players were assaulted by pitch-invading fans
- Celtic are Scottish Premiership champions again!
- GOAL! Celtic 3-1 Hearts (Osmand, 90+8 min)
- GOAL! Celtic 2-1 Hearts (Maeda, 88 mins)
- Celtic have the ball in the net, but the flag is up!
- Iheanacho hits the post
- Half time: Celtic 1-1 Hearts
- GOAL! Celtic 1-1 Hearts (Engels, 45+4 mins)
- Penalty to Celtic!
- GOAL! Celtic 0-1 Hearts (Shankland, 43 mins)
- The teams!
- Hello world!
60 mins: Celtic win a corner, and Schwolow catches it. He hits the ball long, and Celtic win the header.
59 mins: The Hearts physios are back on to treat Kyziridis, who is still feeling the effects of that Trusty challenge.
58 mins: A yellow card for Trusty, who gave the ball away and fould Kyziridis trying to win it back. Instead Shankland plays in Kabore, but Sinisalo comes out just in time to stop him latching on to it.
57 mins: This one is cleared, though not without cries from the crowd for another handball.
57 mins: Kent wins the header, but Scales latches onto the ball and uses it to win another corner.
56 mins: Steinwender is very obviously in a bit of pain, but he’s just going to have to push through it. Celtic play Yang through, and when his cross is blocked it rebounds to Johnston, whose shot deflects wide. Celtic have a corner.
54 mins: … From which Kyziridis tries to dip and curl a shot over Sinisalo and into the far corner, and fails.
53 mins: Kabore wins the ball off McGregor, turns and sprints towards the Celtic penalty area. Nygren comes across to challenge and Kabore goes down readily at the first sign of contact. Free kick.
51 mins: Blair Spittal replaces Baningime.
50 mins: Howls from the crowd as Baningime limps the long way off the pitch, rather than limping around its perimeter.

48 mins: Iheanacho tricks his way into space outside the Hearts penalty area. Baningime chases after him, then suddenly pulls up and goes down, clutching his left hamstring. That, surely, is the end of his afternoon.
47 mins: Hearts bring Altena off, and bring on Frankie Kent.
46 mins: Peeeeeep! The decisive half of the decisive game of the season is under way.
Celtic need to fashion a few more chances in this half, and to that end Kelechi Iheanacho is replacing Tounekti. “Joshua Keeling may not even be a Hearts fan, but I’m in a pub in East Lothian full of Hearts fans and there’s absolutely no complaints about the penalty here,” writes Jon Gerrard.
So, back where we started. Hearts are essentially a goal up. Celtic must score in this half. It hasn’t been a great game, but the atmosphere and inbuilt tension has ensured it’s been anything but boring. The next bit, though, could be epic.
“What an absolute joke,” rages Joshua Keeling, who is “not even a Hearts fan”. “Celtic get all the decisions. That is an absolute shambles of a decision. His arm was in a natural position as he slid to block the ball. Fuming. If Hearts don’t go on to win the league today … It’s a joke.”
Half time: Celtic 1-1 Hearts
45+6 mins: And breathe!
GOAL! Celtic 1-1 Hearts (Engels, 45+4 mins)
Engels converts! It’s not a good penalty at all, and Schwolow goes the right way, but the ball goes under him!


45+3 mins: I think it’s a harsh decision, but one that is taken all the time. There was no movement of hand to ball, but there’s absolutely no doubt that it hit him.
45+2 mins: Kyziridis slides to block Tierney’s cross from the left. His right hand is raised, though, and the ball is blasted right into it!

Penalty to Celtic!
45+2 mins: A penalty to Celtic for handball in stoppage time, is it?
45+1 mins: Into stoppage time, and there’ll be three minutes of it. “It is a great occasion but not a great game so far,” writes Gordon, in Aberdeen. “Hearts won’t care, though, if it stays like this. Celtic fans are heaping pressure on their own team with the groans and boos at every misplaced pass by the home team.” Since Gordon wrote it hasn’t stayed like that, and the day has swung further in Hearts’ favour.
GOAL! Celtic 0-1 Hearts (Shankland, 43 mins)
That is a phenomenal corner. Shankland stays well out of the melee in the middle, earning himself a free run on the ball as it dips just beyond the far post – and he’s not missing that!


42 mins: A Hearts long throw is headed behind by Scales, and the visitors crowd the penalty area. But Kingsley plays it backwards, deep to Kyziridis, an unexpected pass but not a very good one. But Hearts recycle the ball and win another corner…
40 mins: Steinwender, certainly the player of the half so far, wins a free kick on the edge of his own penalty area. Schwolow kicks it long.
38 mins: A bit of space for Hearts now, but Kabore’s toepoke hits Scales. Celtic break, and Steinwender is booked for trying (and failing) to stop them doing so. At the end of it, a Celtic corner.
37 mins: As I type that Hearts do attack, and Altena has a curling shot from 25 yards that goes wide, and also high.
36 mins: Hearts are defending very well, but they’re just doing too much of it. Schwolow keeps kicking the ball long, and inevitably Celtic win the header and start to build again.
35 mins: The game’s first yellow card is waved at Johnston, for tripping Jordi Altena.