Match ends, Celtic 2, Heart of Midlothian 1.
Celtic celebrated lifting their eighth Scottish Premiership title in a row by beating Hearts thanks to a Mikey Johnston double.
The 20-year-old scored in two minutes but a blunder from home keeper Scott Bain allowed Jake Mulraney to level.
Johnston made sure of the victory, though, by netting the winner with six minutes left to play.
These sides meet again at Hampden in Saturday's Scottish Cup final but are likely to be much-changed from today.
The hosts made seven changes from the side that lost to Rangers last week, with 16-year-old Karamoko Dembele making his debut as a half-time sub.
The win takes Celtic on to 87 points, nine clear of Rangers, while Hearts end the season in sixth, on 51 points.
Dembele makes the difference
It was a day when the league trophy was lifted largely in the absence of many of those who did so much to win it. That was hardly a surprise given that Celtic are playing in the cup final on Saturday and some of their stellar men were deserving of a rest.
Their opponents on Sunday, and again at Hampden, were of a similar mind. This was a day for youth. Celtic had six players in their starting line-up aged 22 or under and had four teenagers on their bench including Dembele. To put his incredible rise into some sort of context, Dembele is younger than the Xbox.
The visitors were hardly ancient themselves. Hearts kicked off with eight players under the age of 22, including three teenagers, two of them aged 17. At times it might have been hard for supporters to know whether to sing a lusty football song or a soothing lullaby.
Two of the youngsters combined to get Celtic off to a flying start after two minutes, Ewan Henderson playing in the 20-year-old Johnston, who smashed his shot past Bobby Zlamal at his near post. Celtic folk need no telling of Johnston's ability but the guess is that they wouldn't mind seeing a little more of it next season. He's a terrific talent.
Hearts suffered the loss through injury of Olly Lee soon after and that's going to have Craig Levein sweating in the countdown to Hampden. The Hearts manager did, though, have the comfort of an equaliser by the time Lee had gone off.
It was the product of Hearts putting Bain under pressure and the goalkeeper being hustled into giving the ball away in the process. It fell to Sean Clare, who played it along to Mulraney. The midfielder promptly curled a beauty around Bain to silence Celtic Park.
Everything calmed after that. The rest of the half was dull, the energy only being re-injected when Dembele appeared for Oli Burke.
The kid was desperate for a goal and his team-mates were desperate to help him. He scampered away down the right early in the new half and the stadium rose to cheer him on. He cut in but fired past Zlamal's post. Next, he forced a save out of Zlamal. Just after, he had another attempt that just missed the target.
The decisive goal didn't fall for Dembele, but it did for a Celtic man. Johnston got it, striding away and tucking his precise shot past Zlamal to win it and to spark the title party into life.
'I never thought it would happen' - reaction
Celtic manager Neil Lennon: "It's an amazing feeling. I never thought it would happen but here I am again on trophy day. This is the important bit - they've got to enjoy the moment.
"Now we've got to get next week out of the way [Scottish Cup final]. It's not a foregone conclusion and we have to prepare the best we can and take care of that."
Hearts manager Craig Levein: "I'm a little bit annoyed that Olly Lee got injured. We took him off as a precaution, the same with John Souttar.
"We've got a few coming back, so I'm hoping to be able to field our strongest team next week."
Line-ups
Celtic
Formation 4-2-3-1
- 29Bain
- 56Ralston
- 35Ajer
- 32BenkovicBooked at 70minsSubstituted forSimunovicat 82'minutes
- 2Toljan
- 6Bitton
- 21Ntcham
- 73Johnston
- 52HendersonSubstituted forMcGregorat 64'minutes
- 11Sinclair
- 25BurkeSubstituted forDembeleat 45'minutes
Substitutes
- 5Simunovic
- 24de Vries
- 42McGregor
- 44Church
- 48Okoflex
- 57Welsh
- 77Dembele
Hearts
Formation 4-4-2
- 1Zlamal
- 2SmithSubstituted forBrandonat 56'minutes
- 4SouttarSubstituted forHughesat 67'minutes
- 3Shaughnessy
- 51HickeyBooked at 52mins
- 45Smith
- 40Irving
- 8LeeSubstituted forEdwardsat 12'minutes
- 23Mulraney
- 9Clare
- 15Wighton
Substitutes
- 7Bozanic
- 13Doyle
- 16Hughes
- 22Edwards
- 25Brandon
- 28Dikamona
- 39Petkov
- Referee:
- Craig Thomson
- Attendance:
- 58,696
Match Stats
- Possession
- Home58%
- Away42%
- Shots
- Home16
- Away4
- Shots on Target
- Home7
- Away3
- Corners
- Home9
- Away1
- Fouls
- Home11
- Away9
Live Text
Post update
Full Time
Second Half ends, Celtic 2, Heart of Midlothian 1.
Post update
Attempt missed. Nir Bitton (Celtic) right footed shot from outside the box is just a bit too high.
Post update
Corner, Celtic. Conceded by Zdenek Zlamal.
Post update
Attempt saved. Michael Johnston (Celtic) right footed shot from the left side of the six yard box is saved in the bottom left corner.
Post update
Scott Sinclair (Celtic) wins a free kick in the attacking half.
Post update
Foul by Sean Clare (Heart of Midlothian).
Post update
Attempt saved. Jamie Brandon (Heart of Midlothian) right footed shot from outside the box is saved in the top centre of the goal.
Post update
Attempt saved. Nir Bitton (Celtic) right footed shot from more than 35 yards is saved in the top centre of the goal.
Goal!
Goal! Celtic 2, Heart of Midlothian 1. Michael Johnston (Celtic) right footed shot from outside the box to the bottom right corner. Assisted by Callum McGregor following a fast break.
Substitution
Substitution, Celtic. Jozo Simunovic replaces Filip Benkovic.
Post update
Attempt blocked. Kristoffer Ajer (Celtic) right footed shot from outside the box is blocked.
Post update
Karamoko Dembele (Celtic) wins a free kick on the right wing.
Post update
Foul by Connor Smith (Heart of Midlothian).
Post update
Attempt saved. Connor Smith (Heart of Midlothian) right footed shot from very close range is saved in the top centre of the goal.
Post update
Foul by Anthony Ralston (Celtic).
Post update
Jake Mulraney (Heart of Midlothian) wins a free kick on the left wing.
Post update
Attempt blocked. Olivier Ntcham (Celtic) right footed shot from outside the box is blocked.
Booking
Filip Benkovic (Celtic) is shown the yellow card for a bad foul.
Post update
Foul by Filip Benkovic (Celtic).