Borussia Dortmund's chances of qualifying for the Champions League knockout stages hang by a thread after a costly 1-1 Group H draw against APOEL at Signal Iduna Park.
A disappointing draw by the same scoreline in Cyprus last time out left Dortmund with just one point from three matches and knowing that realistically a win was needed to keep alive their hopes of reaching the last 16.
Raphael Guerreiro, making his first start of the season after a broken foot, deservedly put Dortmund ahead in a first half that they completely dominated, with Shinji Kagawa and Omer Toprak missing great chances.
But their failure to make the most of those opportunities was punished when Mickael Pote scored with one of APOEL's few sights of goal early in the second half.
The hosts pushed forward desperately for the win after the break with Toprak seeing an effort headed off the line and Pierre-Emerick Aubameyang hitting the crossbar, but Peter Bosz's men fell short.
Dortmund consequently sit five points adrift of second-place Real Madrid, who were beaten by Tottenham on Wednesday, with only two games to go.
Even wins over Spurs and Los Blancos may not be enough to see them through, with Dortmund now staring down the barrel of elimination ahead of their crucial Klassiker against domestic rivals Bayern Munich on Saturday.
APOEL also only have two points and face a similarly daunting task if they are to seal an unlikely place in the last 16, but consecutive draws against the Bundesliga side mean they have already exceeded expectations and remain right in the hunt for a Europa League spot.
Dortmund had APOEL penned in straight from kick-off and Aubameyang's well-hit shot on the turn from 20 yards was impressively parried by Nauzet Perez, who only signed on a free transfer last month.
Shinji Kagawa, making his 50th appearance in UEFA competition, wastefully headed over Guerreiro's pinpoint left-wing cross, before Perez was again on hand to keep out an acrobatic effort from the dangerous Christian Pulisic.
The busy visiting goalkeeper then brilliantly kept out Toprak's header from Kagawa's corner, with APOEL somehow hacking the follow-up away from danger.
But the breakthrough finally arrived in the 29th minute. Kagawa's ingenious flick exploited a gaping hole in the visiting defence and Guerreiro coolly slotted past Perez from 10 yards.
It was a surprise Dortmund failed to double the lead before half time, Carlao making a stunning headed clearance on the goalline from Maximilian Philipp's cross with Aubameyang ready to pounce.
Incredibly, Dortmund were made to pay for their profligacy just six minutes after the break.
Efstathios Aloneftis played in Carlao on the left of the area and his cutback found Pote, who turned Toprak in the area and fired into the bottom right corner.
With the tension and desperation levels quickly rising, Kagawa dragged a 20-yard shot wide before Toprak had a header brilliantly cleared off the line by Ghayas Zahid.
Shortly after, Perez was almost caught out by Philipp's volleyed cross-shot from Kagawa's pass but the goalkeeper managed to palm the ball over the crossbar.
Still Dortmund came and Kagawa saw claims for handball against Giorgos Merkis waved away by referee Matej Jug, before Aubameyang thumped a free header against the crossbar from six yards when brilliantly picked out by Pulisic.
Aubameyang missed another gilt-edged chance in injury time as a late barrage failed to produce a winner, and Dortmund will be eliminated if Madrid beat APOEL in matchweek five regardless of their result against Spurs.