Radja Nainggolan scored his first goal for the Giallorossi since moving from Cagliari in January, but Roma failed to put struggling Bologna to the sword and ended up retreating to resist a late backlash.
The Rossoblu, who have now failed to win at the Renato Dall’Ara in four attempts, besieged the visiting goal in the final stages and would have taken a point had Lazaros Christodoulopoulos scored from a diving header in the final minutes.
Roma will now hope Juve drop points in Sunday’s derby meeting with Torino while Bologna sit only two points above the drop zone and could well be sucked into it over the weekend.
It was an unorthodox Roma selection with Alessio Romagnoli preferred to Kevin Strootman in midfield and Rodrigo Taddei taking the place of regular right-back Maicon.
The Giallorossi duly struggled to keep their shape in the opening exchanges and Bologna twice went close to scoring through Rolando Bianchi, who was played onside by Leandro Castan, and Christodoulopoulos.
The Greece midfielder saw his free-kick take a wicked deflection off Mattia Destro but Morgan De Sanctis got gloves to the wildly spinning ball.
Roma bit back and Destro’s first-time shot whizzed past a post before Nainggolan fluffed his lines when well-placed to tuck Romagnoli’s low cross home.
It mattered little as the Belgium midfielder would open his account for Roma in the 37th minute.
It was a move that demanded precision from both parties as Miralem Pjanic’s deft ball over the top fell to Nainggolan in a tiny space in front of goal, and he made the perfect connection to convert.
Bologna might have levelled before the break, though, with Christodoulopoulos almost surprising De Sanctis with an angled free-kick that the keeper punched clear.
Destro thought he had doubled Roma’s lead four minutes after the break when tucking Pjanic’s cross home, but the offside flag denied him.
Gervinho was next to threaten for the capital club. The Ivorian won a foot race with Mikael Antonsson but saw his attempt on goal sail wide.
Bologna pushed back throughout the final 20 minutes and could have equalised when Andrea Mantovani connected with Panagiotis Kone’s corner, yet the ball missed the mark by mere inches.
Bianchi then outwitted Mehdi Benatia to head the ball beyond the Roma defender and into Ibson’s path. The Bologna substitute shaped himself to shoot but De Sanctis rushed out and closed him down.
Finally, and fatefully for Bologna, Christodoulopoulos failed to nod Kone’s cross in the right direction when leaping towards an open goal deep into stoppage time.