Celtic's Henrik Larsson scored once but had a penalty saved as Portuguese underdogs Boavista held the Scottish champions 1-1 in the first leg of their UEFA Cup semi-final at Celtic Park on Thursday.
With either Italian club Lazio or Porto awaiting the winners in next month's final, Boavista silenced the 60,000 Celtic Park crowd by taking a shock lead three minutes into the second half.
Filipe Anunciacao scampered down the Boavista right and his cross was inadvertently diverted past his own goalkeeper by Celtic defender Joos Valgaeren.
But Celtic, seeking to reach their first European final since 1970, were level within a minute when Larsson fired low into the Boavista net.
The Swede, though, was denied a second in the 75th minute when Boavista goalkeeper Ricardo Pereira produced a plunging stop to keep out his penalty kick awarded after Eder's unfortunate handball.
That save meant Boavista finished much the happier of the two sides with their away goal giving them the advantage for the second leg in Oporto in two weeks' time.
So far in their European run, Celtic have scored away goals against FK Suduva, Blackburn Rovers, Celta Vigo, VfB Stuttgart and Liverpool.
Martin O'Neill's side will need to do so again in Portugal to maintain their hopes of reaching the final in Seville on May 21.
There was little to separate the sides in a tight and often tense opening period but Jaime Pacheco's Boavista side were never over-awed.
Celtic started in a positive mood and Larsson wriggled free from John Hartson's intelligent pass on seven minutes but the Swede's final effort bounced wide.
WILD CELEBRATIONS
Boavista, lying 10th in the Portuguese league fully 40 points behind leaders Porto, responded with a couple of long range shots before cutting open the home defence on 18 minutes.
Luiz Claudio found space in the box with Celtic's towering defence wrong-footed. His cross was perfect for Duda but the Boavista player's shot was somehow deflected wide when a goal seemed more likely.
Celtic attempted to engineer some pressure but found Boavista in an uncompromising mood for the rest of the first half.
A few hopeful claims for handball in the box and an effort from Bulgarian Stilian Petrov that flew wide were indicative of the home side's inability to create any real chances.
Celtic were then stunned when they fell behind only three minutes into the second period. Erivan released Anunciacao whose cross was poked into his own goal by a stretching Valgaeren.
The goal prompted wild celebrations from the visitors' bench but Celtic responded quickly to their predicament.
Neil Lennon fed Petrov who showed great awareness to find Larsson and the Sweden striker slammed the ball past Ricardo.
Hartson then had the chance to hand Celtic a vital lead on 65 minutes but failed to connect properly and Ricardo gratefully clasped his shot.
Ricardo was turning into a key figure for the visitors as he then brilliantly saved Larsson's penalty, diving to his right to stop with the home fans ready to celebrate.
Celtic threw men forward in the dying moments but the winner would not come as Hartson was denied twice more.