Match ends, Heart of Midlothian 2, Celtic 1.
Celtic suffered opening-day defeat for the first time in 24 years - and Ange Postecoglou's chastening start as manager continued - as Hearts made a winning Scottish Premiership return.
John Souttar scored with 90 seconds left at a raucous Tynecastle to secure the victory after Anthony Ralston's stunning solo strike had cancelled out Gary Mackay-Steven's opener.
A first win for Hearts over Celtic in three years condemned the Glasgow side to a second loss in three games after the midweek Champions League exit.
It means Postecoglou is still searching for a first win, with a Europa League third qualifying round tie in the Czech Republic against FK Jablonec on Thursday next up, before the visit of Dundee next Sunday.
However, after a good League Cup group stage showing, Robbie Neilson's Hearts have now made it five wins from five this season.
- How Hearts showed strength to break fragile Celtic
- Podcast: 'There is so much to be done at Celtic'
- Reaction & as it happened
Not for a long time had Celtic began a league campaign in such disarray. Off the back of a trophy-less season, Wednesday's extra-time defeat by Danish league runners-up Midtjylland had opened new wounds.
They arrived in the capital bolstered by new signings Carl Starfelt and Kyogo Furuhashi, and a performance was needed to galvanise an anxious support.
But, less than 10 minutes in, the crisis headlines were already being written after a calamity in the visiting defence.
Josh Ginnelly bore down the right and got past Starfelt all too easily before feeding Liam Boyce. Nir Bitton took the ball away from the Hearts striker, but only knocked it into the path of an unmarked Mackay-Steven, who tapped in at the far post.
Celtic responded by dominating possession. The lively Odsonne Edouard headed into the hands of Craig Gordon, while Callum McGregor and David Turnbull also threatened. But despite hogging the ball, they couldn't unsettle the home side.
And, Hearts may well have opened up a two-goal lead before half-time had Craig Halkett or Michael Smith not put efforts from close range over the bar.
Celtic's nerves were evident. Starfelt was struggling to settle on his debut and Hearts' boisterous home support sensed it. But just as Celtic wobbled, a touch of quality levelled the score.
Ralston stepped past Andy Halliday, skipped past the lunges of two more maroon shirts, before guiding a composed left foot finish past Gordon.
It lit up what was already a fascinating game, and both sides still believed victory could be theirs.
Celtic soon had the ball in the net again, though Liel Abada's celebrations were cut short by the assistant's flag for offside against Greg Taylor, who had crossed for the Israeli.
Scott Bain had to claw away Souttar's header as Hearts went close, before Gordon punched clear substitute Ryan Christie's effort.
Japanese forward Furuhashi made his entrance from the bench for Celtic, but it was Hearts who were finishing the stronger of the two, and they got their reward when Souttar rose highest at a free-kick to head home for Hearts.
Yet still the action wasn't over, as Gordon - released by Celtic last summer - made two stunning late saves.
First James Forrest drove into the box but his near-post effort was blocked at point-blank range, then from the resultant corner, the Scotland goalkeeper tipped away Starfelt's header acrobatically.
Man of the match - Beni Baningime
What did we learn?
Celtic had little trouble getting their foot on the ball, but the struggles of last season have yet to be shaken off as they found it hard going in the final third while defensively they have yet to form a solid unit.
Rarely had a side won the Scottish Championship under such a cloud, but Hearts put last season's fan demonstrations behind them with a performance that suggests they are unlikely to be anywhere near a relegation battle this season.
What they said
Hearts manager Robbie Neilson: "We had 5,500 fans here and it sounded like 20,000, and it's been a long time since a lot of people have been at a live game. So to send them home happy is great.
"When the fans start putting the energy back on the pitch, especially towards the end of the game, when players start getting that extra yard... they gave us the goal."
Celtic manager Ange Postecoglou: "We got into so many good crossing areas and crosses ended up out on the touchline, and shooting opportunities. For me, it's probably the area we need to improve the most.
"Defensively it's not like we are being put under pressure for periods of times in any of the games. But when you keep the opposition in the game there's always a possibility they can hit you from a set-piece or counter-attack."
Celtic travel to the Czech Republic to face Jablonec on Thursday (16:45 BST) before hosting Dundee on Sunday, while Hearts are next in action on Saturday at St Mirren in the Scottish Premiership (15:00).
- 30GinnellySubstituted forGnanduilletat 77'minutes
- 11Mackay-StevenSubstituted forHaringat 68'minutes
- 12SoroSubstituted forRogicat 90'minutes
- 11AbadaSubstituted forFuruhashiat 79'minutes
- 14TurnbullSubstituted forChristieat 79'minutes
- Bobby Madden
- Shots on Target
Second Half ends, Heart of Midlothian 2, Celtic 1.
Corner, Celtic. Conceded by Peter Haring.
Attempt saved. Carl Starfelt (Celtic) header from the centre of the box is saved in the bottom right corner. Assisted by Ryan Christie with a cross.
Corner, Celtic. Conceded by Craig Gordon.
Attempt saved. James Forrest (Celtic) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Odsonne Edouard.
Foul by Anthony Ralston (Celtic).
Liam Boyce (Heart of Midlothian) wins a free kick in the defensive half.
Substitution, Celtic. Tomas Rogic replaces Ismaila Soro.
Goal! Heart of Midlothian 2, Celtic 1. John Souttar (Heart of Midlothian) header from the centre of the box to the bottom left corner. Assisted by Michael Smith with a cross following a set piece situation.
Foul by Ismaila Soro (Celtic).
Peter Haring (Heart of Midlothian) wins a free kick on the left wing.
Foul by Callum McGregor (Celtic).
Peter Haring (Heart of Midlothian) wins a free kick in the defensive half.
Attempt missed. Craig Halkett (Heart of Midlothian) header from the centre of the box is close, but misses to the right. Assisted by Michael Smith with a cross following a corner.
Corner, Heart of Midlothian. Conceded by Greg Taylor.
Attempt blocked. Liam Boyce (Heart of Midlothian) header from the centre of the box is blocked. Assisted by Andrew Halliday with a cross.
Foul by Kyogo Furuhashi (Celtic).
Beni Baningime (Heart of Midlothian) wins a free kick on the right wing.
Attempt saved. Ryan Christie (Celtic) left footed shot from the right side of the box is saved in the bottom left corner. Assisted by Odsonne Edouard.
- Five new sports at Tokyo 2020: Everything you need to know about the events
- The fight for our attention: How can sport broadcasters make themselves the most attractive option?