Edin Dzeko snatched a 95th-minute winner for a double on the night as Roma rescued a 3-2 come-from-behind win against lowly Frosinone on Saturday to keep in touch with the Champions League places.
The Romans were pushed hard by Frosinone, a team also from the Lazio region who are second from bottom of the league, with just three wins this season.
Dzeko had equalised after a nightmare start for the visitors in windy conditions and also provided the assist for Lorenzo Pellegrini's 31st-minute goal.
Roma are fifth, one point behind AC Milan, who beat Empoli 3-0 on Friday to remain in the final Champions League berth.
"I prefer a different way of getting to the three points," admitted coach Eusebio Di Francesco.
"We made a lot of errors and that almost cost us. The positive thing is we fought until the very end to win."
Camillo Ciano had gotten Frosinone off to a dream start, intercepting a blundering Steven Nzonzi pass, with Roma goalkeeper Robin Olsen making a mess of the attempt to clear.
Bosnian star Dzeko got the equaliser on the half hour, sneaking up on napping defender Edoardo Goldaniga to finish off.
A minute later the visitors were back in front as Dzeko set up Stephan El Shaaraway with Marco Sportiello tipping the first effort wide with Pellegrini on hand to pounce on the rebound.
Roma defender Kostas Manolas came off with an ankle injury, with Andrea Pinamonti throwing Frosinone a lifeline off a Ciano cross nine minutes from time.
But as Frosinone looked set for a share of the points Dzeko bundled in the winner following good work from Daniele De Rossi and an El Shaarawy assist.
"We can't keep getting away with this type of performance," said Di Francesco.
"I was impressed not just by Dzeko's goals, but the way he tried to pull the team forward and lead the way on the pitch."
Roma needed a win to hold off the chasing pack, with Lazio, Torino and Atalanta now six points adrift.
Next week Roma play city rivals Lazio, and have their Champions League last 16, second leg clash with FC Porto on March 6.
Torino earlier joined the crowded race for European football with Armando Izzo and Iago Falque scoring either side of the break to beat ambitious Atalanta 2-0.
Izzo slotted in three minutes before the interval with Falque blasting in the second just after the restart as Torino move seventh, equal on 38 points with Lazio and Atalanta.
Walter Mazzarri's side extended their run of games without conceding a goal to five, a feat they last achieved 24 years ago.
Atalanta are losing pace after once looking contenders for Champions League football, suffering a second consecutive defeat following last weekend's 3-1 home loss to AC Milan.
The side from Bergamo had been riding high after ousting champions Juventus from the Coppa Italia quarter-finals last month.
"We were practically perfect in the second half," said Mazzarri.
"The next three rounds are the real test of our maturity and then we'll see if this Toro really has become a great team."
Fiorentina will look to join Lazio, Torino and Atalanta on 38 points when they take on third-placed Inter Milan in Sunday's late game.
Champions Juventus, who have a 13-point lead at the top, travel to struggling Bologna in search of a boost after their 2-0 Champions League last 16, first leg defeat at Atletico Madrid during the week.
Napoli, in second, play at mid-table Parma.