Celtic resuscitated their hopes of further progress in the Europa League as they emerged triumphant from a pulsating Group B fixture.
Odsonne Edouard secured the victory the Scottish champions needed to stay in contention for a place in the next round, the £9 million striker making his crucial contribution just when it seemed as if two precious points would be dropped.
Deservedly ahead at half-time through Kieran Tierney’s 11th minute goal, Celtic were rocked 12 minutes from time when Edouard’s French compatriot Jean-Kevin Augustin levelled for RB Leipzig.
A draw would have been of little use to Brendan Rodgers’ side but Celtic Park erupted when they immediately reclaimed the lead courtesy of Edouard’s eighth goal in his last eight games. The win draws them level on points with Leipzig with two games remaining, both of them six points behind leaders Salzburg.
Tierney’s first ever European goal for Celtic turned on the ignition for a progressive and largely commanding first half display from Rodgers’ men.
There had been no indication of that in the opening 10 minutes preceding Tierney’s breakthrough strike. It was Leipzig who made the sharper start to the contest as they looked to carry their dominance of the first meeting of the sides in Germany a fortnight earlier into this one.
Craig Gordon had to react smartly to deny Marcel Sabitzer in the eighth minute, the Celtic goalkeeper keeping out a well struck effort from 20 yards by the Austrian midfielder.
When the hosts took the lead three minutes later, it came against the run of play but completely transformed the momentum of the match. The goal owed much to the awareness of Callum McGregor who took a free-kick quickly after Ryan Christie had been fouled by Stefan Ilsanker near the halfway line.
The Leipzig defence were caught flat-footed as McGregor played the ball to James Forrest who jinked his way beyond left-back Marcelo Saracchi to the edge of the penalty area. The winger’s low cross missed out both Edouard and Scott Sinclair but found its way into the path of Tierney.
He showed good composure to take a steadying touch before drilling in a low left foot shot which Leipzig goalkeeper Yvon Mvogo got a hand to but was unable to keep out.
The goal seemed to rattle Leipzig as much as it inspired Celtic. The visitors were suddenly much sloppier in possession and uncertain in defence. By contrast, Celtic started knocking the ball around with purpose, pace and accuracy.
That said, there was a moment of concern for them when Nordi Mukiele broke free on the right to whip over a dangerous cross. Gordon advanced bravely to smother the ball at the feet of French striker Jean-Kevin Augustin who was booked for leaving a boot in unnecessarily.
It was Celtic who were now carrying the greater menace in their play, however, and Tom Rogic should have done better than loft a shot just over the top from 20 yards after he was picked out by a Tierney lay-off.
Edouard then displayed tremendous strength and balance to surge past a couple of challenges into the penalty area but was unable to pick out the unmarked Sinclair in the six yard box.
Celtic were probing relentlessly for a second goal and Christie wasted an opportunity to claim it in the 32nd minute, rushing his shot from just outside the penalty area and sending it well over.
Leipzig coach Ralf Rangnick, having been forced into an early substitution when the injured Saracchi made way for Marcel Halstenberg, tried to revitalise his side with another change at the start of the second half.
The introduction of experienced Slovenian international attacking midfielder Kevin Kampl, who replaced Ilsanker, succeeded in giving the visitors greater tempo going forward as they made a positive start to the second 45 minutes.
Portuguese international Bruma, whose constant movement kept Celtic’s central defenders on high alert, forced a good save from Gordon with a powerful effort from around 20 yards.
Sinclair passed up an inviting opportunity to double Celtic’s lead when he burst clear on goal but was unable to find a clean strike on the ball as Mvogo advanced to nick it off his toes.
There was a steadier ebb and flow to the contest as the second half wore on, both teams carving out decent chances. Sabitzer was again denied by Gordon, then Mvogo kept out a close range effort from Edouard.
Celtic’s record signing was unfortunate not to make it 2-0 in the 73rd minute when he muscled his way into the penalty area and saw his shot deflected agonisingly wide of Mvogo’s right hand post.
That looked as if it might be a pivotal moment when Leipzig equalised five minutes later.
It was a sloppy goal for Celtic to concede, Augustin allowed to drift unmarked towards the six yard box where he headed Konrad Laimer’s cross beyond the helpless Gordon.
But almost directly from the restart, Celtic stunned Leipzig as the regained the lead with a fine goal. Sinclair made ground down the left and fed the ball inside to Christie whose low cross presented Edouard with a tap-in.
Celtic rode their luck in the closing stages as Kampl struck the crossbar when he should have scored but they saw the job out to set themselves up for a trip to already eliminated Rosenborg at the end of the month.