Match ends, Celtic 2, RB Leipzig 1.
Celtic scored 14 seconds after conceding to secure a dramatic victory over RB Leipzig to keep their Europa League dreams on track.
Leipzig's Jean-Kevin Augustin equalised with a header on 78 minutes but straight from the restart Odsonne Edouard struck back.
Knowing defeat could eliminate them with two games left, Kieran Tierney had put the hosts ahead early on.
Celtic sit third in Group B, level with Leipzig, but trail on head-to-head.
The Scottish champions travel to Trondheim to face Rosenborg next on November 29, before finishing at home to Salzburg a fortnight later.
In a frenetic finish, Kevin Kampl struck the bar for the visitors and then blazed over when clean through on goal to ensure the Scottish side secured a vital victory.
Celtic rediscover European magic
The much talked about "disco lights" that were installed at Celtic Park in the summer - reportedly worth over £2million - had their European bow, but initially it was RB Leipzig that lit up Celtic Park.
The Germans threatened to spoil the party as they were right on top of Celtic for the first 10 minutes. But it was James Forrest who grabbed this game by the scruff of the neck for the Scottish champions.
The winger drove at Leipzig before flashing a ball across the penalty area for Tierney who more than matched the initiative shown by Forrest by lashing the ball home.
It sent an electrical pulse through the stadium as the home fans suddenly sensed this could be one of those heady nights where the Celtic momentum would sweep a dangerous opponent aside and end with the result that was required.
Alas, life for Scottish sides in European football is rarely that simple.
At times in the second half it felt like there was wave after wave of Celtic attack, but the goals would simply not flow.
And then came the cruel blow as the quality of RB Leipzig sliced Celtic open as the Germans equalised. Kevin-Augustin ghosted in at the back post, unmarked, to nod home.
The reaction from the Scottish champions was fantastic. Up the field they swept, Christie crossed for Edouard who fired home from point blank range.
Suddenly the disappointment of the equaliser was forgotten by the home faithful. It was a goal of real character in a compelling match.
Plenty of work ahead for Celtic to qualify- analysis
This result still leaves RB Leipzig with the advantage over Celtic. Both sides are on six points, but then it comes down to head-to-head and goal difference between tied teams - which means advantage RB Leipzig, 3-2 on aggregate.
After this result, Celtic's fate is now out of their hands. With them unable to overturn the head-to-head record, they must simply try and replicate this performance which Rodgers has waited for and hope their German counterparts slip up.
It is not over yet for Celtic but they have plenty to do.
Young Scots shine on European stage
Former Scotland defender Willie Miller on BBC Scotland's Sportsound
Ryan Christie has been handed the chance through circumstances, through injuries, and he's come into the Celtic team and he's been outstanding. Not just in playing in a Celtic team that's playing at a high level, but playing against quality opposition as well.
He's now really putting in performances that are saying to Brendan Rodgers, even if he's not going to be starting he's going to be a big part of his plans going forward.
Kieran Tierney, Callum McGregor, Christie and James Forrest, the four of them were brilliant. And when you throw Craig Gordon in the mix it's not a bad back-bone of a Scotland team.
Former Celtic goalkeeper Pat Bonner on BBC Scotland's Sportsound
I think if Ryan Christie keeps performing like he did tonight, it's going to be very difficult for Brendan Rodgers to leave him out. The energy he put in, the runs tonight, that's what Stuart Armstrong used to do.
It's magnificent to see a Scottish player going out and performing against a good Leipzig team. Kieran Tierney, Callum McGregor and James Forrest as well though, all good young Scottish players performing at that level, that's what we want to see and they did it really well.
- 32BenkovicBooked at 34mins
- 63TierneyBooked at 51mins
- 49ForrestSubstituted forMulumbuat 83'minutes
- 11SinclairSubstituted forAjerat 90'minutes
- 22MukieleSubstituted forDemmeat 70'minutes
- 3SaracchiSubstituted forHalstenbergat 16'minutesBooked at 44mins
- 7SabitzerBooked at 63mins
- 13IlsankerSubstituted forKamplat 45'minutes
- 27LaimerBooked at 55mins
- 20Santos Carneiro Da Cunha
- 29AugustinBooked at 17mins
- 17Tué Na Bangna
- Javier Estrada Fernández
- Shots on Target
Second Half ends, Celtic 2, RB Leipzig 1.
Offside, Celtic. Craig Gordon tries a through ball, but Odsonne Edouard is caught offside.
Substitution, Celtic. Kristoffer Ajer replaces Scott Sinclair.
Attempt missed. Kevin Kampl (RB Leipzig) left footed shot from the centre of the box is just a bit too high. Assisted by Jean-Kévin Augustin.
Hand ball by Matheus Cunha (RB Leipzig).
Corner, RB Leipzig. Conceded by Filip Benkovic.
Corner, RB Leipzig. Conceded by Youssouf Mulumbu.
Kevin Kampl (RB Leipzig) hits the bar with a left footed shot from the centre of the box. Assisted by Matheus Cunha.
Substitution, Celtic. Youssouf Mulumbu replaces James Forrest.
Offside, RB Leipzig. Konrad Laimer tries a through ball, but Bruma is caught offside.
Bruma (RB Leipzig) wins a free kick on the left wing.
Foul by Mikael Lustig (Celtic).
Offside, RB Leipzig. Marcel Sabitzer tries a through ball, but Jean-Kévin Augustin is caught offside.
Attempt blocked. Diego Demme (RB Leipzig) right footed shot from outside the box is blocked.
Goal! Celtic 2, RB Leipzig 1. Odsonne Edouard (Celtic) right footed shot from very close range to the centre of the goal. Assisted by Ryan Christie.
Goal! Celtic 1, RB Leipzig 1. Jean-Kévin Augustin (RB Leipzig) header from very close range to the bottom right corner. Assisted by Konrad Laimer with a cross.
Foul by Ryan Christie (Celtic).
Bruma (RB Leipzig) wins a free kick in the defensive half.
Attempt missed. Jean-Kévin Augustin (RB Leipzig) left footed shot from the centre of the box misses to the right. Assisted by Bruma.