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 its 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 it completely dominated, with Shinji Kagawa and Omer Toprak missing great chances.
But its 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 host 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 sits five points adrift of second-place Real Madrid, which was beaten by Tottenham on Wednesday, with only two games to go.
Even wins over Spurs and Los Blancos may not be enough to see it through, with Dortmund now staring down the barrel of elimination ahead of its crucial Klassiker against domestic rival Bayern Munich on Saturday.
APOEL also only has two points and face a similarly daunting task if it is to seal an unlikely place in the last 16, but consecutive draws against the Bundesliga side mean it has 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 goal-line from Maximilian Philipp's cross with Aubameyang ready to pounce.
Incredibly, Dortmund was made to pay for its 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 its result against Spurs.
- BAN vs NZ, 2nd Test: Bangladesh in charge despite bizarre Mushfiqur dismissal on Day 1
- ICC Rankings: Ravi Bishnoi becomes world’s No.1 T20I bowler, surpasses Rashid Khan
- Bangladesh vs New Zealand HIGHLIGHTS, 2nd Test Day 1: Latest scorecard, match streaming info
- Junior Hockey World Cup 2023: India needs to guard against complacency against Spain
- Pakistan captain Shan Masood hits century in Australia warm-up