Ten-man Celtic battled their way to a priceless point in Bologna to retain hopes of Europa League progression.
First-half goals from Reo Hatate and Auston Trusty either side of a red card for the former had Martin O'Neill's men 2-0 up at the break.
The hosts pinned the Scots back for most of the second half and scored through Thijs Dallinga and Jonathan Rowe.
But, the third goal never materialised and Celtic will attempt to secure their place in the knockout play-offs when they host Utrecht on the final matchday.
Bologna looked to seize the initiative early and looked comfortable on the ball before Lukasz Skorupski's moment of madness, passing the ball straight to the lurking Daizen Maeda who teed up his compatriot Hatate to send the Celtic fans wild behind the goal.
A minute later and the Pole, who has been out injured since November, made a superb save to deny Yang a quick second for the visitors who settled after the opener.
I Rossoblu slowly began to take control of the game and Callum McGregor had to look lively to block an effort from Dallinga after a Hatate error. Trusty then threw himself at the Dutch international when another opportunity presented itself shortly after.
Celtic were under severe pressure by this stage with Kasper Schmiechel producing smart saves to keep out Juan Miranda and Tommaso Pobega.
Hatate then went from hero to zero, picking up two yellow cards in the space of three minutes, first for a foul on Lewis Ferguson which had been preceded by a shirt tug, and then a cynical challenge on Miranda.
O'Neill was visibly furious on the touchline, but both decisions looked correct with the manager receiving a caution of his own.
However, despite that blow, the visitors grabbed their second six minutes later as Trusty stabbed home from a Kieran Tierney corner with the help of a crucial Arne Engels flick.
That insurance policy proved crucial as Bologna hemmed Celtic in for much of the second half with Benjamin Dominguez hitting the bar amidst a flurry of chances.
The hosts eventually found a way through with Schmeichel unable to keep out a Dallinga header just before the hour mark.
The one-way traffic continued and the excellent Rowe whistled a shot beyond a stricken Schmeichel who didn't even dive for it.