Moussa Dembele scored a dramatic stoppage-time penalty as Celtic moved one round away from the Champions League group stage.
A first half Leigh Griffiths penalty had put Celtic 1-0 ahead on the night, and 2-1 on aggregate, against Astana.
Their evening was thrown into chaos when Agim Ibraimi scored from 40 yards.
Extra-time, and possibly penalties, seemed to beckon until Dembele won the penalty that he then converted with his first goal for the club.
That sent a raucous stadium into absolute raptures while Astana of Kazakhstan were left stunned.
They finished with just nine men on the pitch, Igor Shitov sent-off for his costly foul on Dembele and Dmitri Shomko also walking for a crazed protest at the awarding of the penalty.
Celtic now go into Friday’s draw for the final play-off round – leaving them just two games away from the Champions League group stage. Even if they lose that tie, they are guaranteed a place in the group stage of the Europa League.
There was no early evidence that this was going to become so tumultuous. Celtic swarmed all over Astana from the get-go, hustling and harrying their visitors and denying them the space and opportunities they enjoyed in the first leg last week.
There really was only one team in it, Celtic dominating possession and territory. They lost Patrick Roberts to injury after just half an hour but their control continued, albeit without many chances being created.
There was late drama in the first half, though. Kieran Tierney was taken down in the box by Abzal Beysebekov and Griffiths swept in his penalty.
Having given Celtic the equaliser in Astana, Griffiths had now put his team 2-1 ahead on aggregate. And early in the second half he could have put the tie almost beyond doubt.
From a Stefan Johansen pass, Griffiths could only find the Astana side-netting. Soon after, a raking ball from Scott Brown put Griffiths through again. As he was about to shoot, he was snuffed out by a terrific tackle by Shitov.
Astana stirred at that point. They had the ball in the Celtic net when Roger Canas headed home after Gordon was caught in no-man’s land, but it was chalked off for offside.
It was reminder that the tie was far from dead. Brendan Rodgers brought on defender Kolo Toure for his debut to shore things up with half an hour remaining. Toure had barely drawn breath as a Celtic player when Astana scored.
They were caught out through the middle by a long ball; Gordon forced to gallop out of his box to avert the danger with a clearing header. Instead, the ball was gathered by Ibraimi, who promptly struck the most sumptuous 40-yard shot over the stranded Celtic goalkeeper and into his net.
It wasn’t the first time Ibraimi had sickened Celtic. He was a major force in the Maribor team that dumped them out of the Champions League under Ronny Deila and now he was threatening to repeat the torment.
Level at 2-2 on aggregate, Celtic Park gulped hard – and then roared thunderously when Dembele’s gorgeous trickery ended with him being upended in the box.
The new striker, just turned 20, stood over the penalty and then smashed it home, cool as you like amid the cauldron.
Match ends, Celtic 2, FC Astana 1.
Substitution, FC Astana. Djorde Despotovic replaces Serikzhan Muzhikov.
Second Half ends, Celtic 2, FC Astana 1.
Goal! Celtic 2, FC Astana 1. Moussa Dembele (Celtic) converts the penalty with a right footed shot to the bottom left corner.
Roger Cañas (FC Astana) is shown the yellow card for a bad foul.
Second yellow card to Igor Shitov (FC Astana) for a bad foul.
Eoghan O’Connell (Celtic) is shown the yellow card for a bad foul.
Substitution, Celtic. Moussa Dembele replaces James Forrest.
Serikzhan Muzhikov (FC Astana) is shown the yellow card for a bad foul.
Goal! Celtic 1, FC Astana 1. Agim Ibraimi (FC Astana) left footed shot from outside the box to the top right corner.
Substitution, Celtic. Kolo Touré replaces Stuart Armstrong.
Stefan Johansen (Celtic) is shown the yellow card for a bad foul.
Substitution, FC Astana. Agim Ibraimi replaces Azat Nurgaliev.
Second Half begins Celtic 1, FC Astana 0.
First Half ends, Celtic 1, FC Astana 0.
Junior Kabananga (FC Astana) is shown the yellow card for a bad foul.
Goal! Celtic 1, FC Astana 0. Leigh Griffiths (Celtic) converts the penalty with a left footed shot to the bottom right corner.
Dmitriy Shomko (FC Astana) is shown the yellow card for a bad foul.
Substitution, Celtic. Stefan Johansen replaces Patrick Roberts.
Igor Shitov (FC Astana) is shown the yellow card for a bad foul.
First Half begins.
Lineups are announced and players are warming up.
- Netanyahu’s request to delay trial rejected as Israeli president urges unity
- Video & stats: Cristiano Ronaldo breaks incredible Juventus free-kick hoodoo in Turin derby win
- Tuchel set for new contract, Champions League final decisions prove Van Persie wrong
- Kosovo’s top leaders pledge to form grand coalition after 5 months of political bickering
- Baby handed to US soldiers in chaos of Afghanistan airlift still missing
- 9 best & essential podcasts to listen to during Euro 2020