Watch: Craig Gordon replicates Loris Karius' Champions League clanger but Celtic lose and go through thanks to Rosenborg favour
Celtic dramatically won through to the knockout stage of the Europa League despite a 2-1 defeat by Salzburg at Parkhead.
The Hoops needed only a point to make sure they joined the already-qualified Austrian outfit in the last 32 but were subdued in the first half as the classy visitors struck the woodwork amid several chances.
Israel striker Munas Dabbur, who scored twice in the 3-1 win over the Scottish champions in October, headed the visitors in front in the 66th minute before substitute Frederik Gulbrandsen capitalised on a horror mistake by goalkeeper Craig Gordon in the 78th minute to make it 2-0.
Salzburg defender Jerome Onguene fouled Celtic defender Filip Benkovic in the box in added time for substitute Olivier Ntcham to score from the penalty at the second attempt, but RB Leipzig's unlikely 1-1 draw with bottom side Rosenborg meant Brendan Rodgers' men held on to second spot in Group B.
The pre-match build-up had been dominated by the news that Celtic striker Leigh Griffiths had dropped out of football for an indefinite period to sort out personal issues and French forward Odsonne Edouard was again asked to lead the line.
Rodgers made one expected change with Kieran Tierney replacing Emilio Izaguirre after recovering from a groin issue, with experienced skipper Scott Brown again on the bench.
The atmosphere at Parkhead crackled as it does on big European nights but the visitors, who reached the semi-final of the tournament last season, were inspired more than intimidated.
In the fourth minute Hoops keeper Gordon made a superb finger-tip save from Zlatko Junuzovic's header.
Defender Mikael Lustig then took a knock to the head which required treatment during which time the Celtic fans chanted in support of Griffiths.
Salzburg looked increasingly formidable. Defender Onguene hit the crossbar with a header from a corner in the 16th minute and from another Junuzovic delivery moments later, Stefan Lainer's near-post header was beaten away by Gordon.
Lustig was unable to carry on any longer and in the 20th minute Kristoffer Ajer took over.
Celtic worked hard to get on top of proceedings, but Salzburg appeared a class above.
Midfielder Hannes Wolf had a great chance on the half-hour mark when Ajer's sloppy back pass sent him clear against Gordon but the Scotland keeper blocked the all-too casual shot.
Applause was muted at the interval whistle with Celtic fans recognising the task ahead. Brown replaced Scott Sinclair for the start of the second half and Celtic began to force themselves forward.
However, there was another injury blow for Rodgers in the 54th minute when midfielder Ryan Christie injured himself tackling Takumi Minamino and he was taken off on a stretcher to be replaced by Ntcham.
Salzburg regained the upper hand and when Lainer took a reverse pass from Enock Mwepu and slung a cross into the box, Dabbur headed into the net off Gordon from six yards.
Minutes later, the Celtic keeper did save a close-range header from the Salzburg forward after the Hoops had failed to clear a corner.
However, Gordon was at fault for Salzburg's second, his attempted throw out was blocked by substitute Gulbrandsen - on four minutes earlier for Minamino - who had the easiest task of knocking the ball into the net despite the Parkhead keeper's best efforts to get back.
It looked all over for Celtic.
Ajer managed to miss the target from three yards following a Callum McGregor corner and Ntcham's free-kick from 25 yards produced a great save from Alexander Walke.
The Salzburg keeper pushed Ntcham's penalty onto a post only to be beaten from the rebound and when news of the final whistle came in from Germany there were louder celebrations until the last kick at Parkhead.