William Amorim scored 11 minutes from time to cancel out a first-half goal from Celtic midfielder Stefan Johansen on a foggy night at the Stadionul Marin Anastasovici.
Johansen struck after 32 minutes when a Charlie Mulgrew free-kick hit the defensive wall before the ball was hooked outside the penalty area and the Celtic midfielder blasted a shot which nicked off a defender into the top corner of the net.
The visitors appeared to be seeing the match out comfortably when Gheorghe Florescu held off a challenge in the Celtic box and laid the ball wide to William Amorim who curled a wonderful shot past Crag Gordon into the far top corner.
Celtic created the first real chance when Emilio Izaguirre slipped the ball through the legs of an Astra defender and zipped a low delivery across the box where Johansen smashed a first-time shot which Silviu Lung Jr turned round the post.
Gordon then produced a fine diving save at the other end to turn a rising 25-yard dive form Seidu Yahaya past the target.
But Celtic threatened twice in the closing minutes of the half when Wakaso Mubarak’s dipping 30-yard drive was held by Lung two minutes before the keeper had to palm away a swerving Mulgrew shot.
Inbetween Celtic were almost caught napping as Sadat Bukari raced on to a long pass through the central defensive area before going down in the box as Jason Denayer came across to challenge, but referee Serhiy Boiko waved away the penalty appeals.
Stefan Scepovic squandered a great opportunity 90 seconds after the break when Johansen heeled the ball into his path, but the Celtic striker fired his shot over the bar from eight yards.
Constantin Budescu clipped a volley from 12 yards over the bar from an Gabriel Enache cross within two minutes and Gordon later had to scramble down to save a shot from Bukari after Scott Brown misplaced a pass at the edge of the Celtic box.
With 15 minutes remaining Vasileios Pliatsikas nicked the ball away from Wakaso on the left side of the Celtic box and crashed a shot straight at Gordon at the near post.
Celtic responded immediately when Mulgrew robbed an Astra midfielder 35 yards from goal and sent a low shot towards the bottom corner of the net but Lung got down to his left and turned the ball against the post.
Lung then produced a brilliant save to deny Leigh Griffiths after the Celtic substitute burst on to a loose ball in the box and knocked the ball past the keeper, who got his hands to the angled shot.
Griffiths was thwarted again a minute later when he shielded a bouncing ball in the box and tucked the ball past Lung, but was adjudged to have fouled an Astra defender.
The home side finished the match with 10 men when Vincent Laban was dismissed in the final minute for a shocking high two-footed lunge on Mulgrew, which the Celtic player was fortunate to avoid a broken leg.
Celtic remain on course for qualification from Group D, and a victory over Salzburg in the next match will guarantee European football after Christmas.