After a largely forgettable season, the home team finally gave their fans something to cheer about in their first win.
Making matters worse for the visitors, manager José Mourinho was sent off for offensive language in the second half.
Roma started brightly with Gini Wijnaldum’s third minute shot sailing across the goal face, just inches away from being tapped in by Andrea Belotti.
However, it was Cremonese that would score first, with Emanuele Valeri chesting down to Frank Tsadjout, whose volley from just outside the box rifled into the top left-corner.
Spinazzola made it 1-1 in the 71st minute by neatly bringing down a 40-yard pass, before side-footing it into the bottom right corner.
Cremonese were awarded a penalty with ten minutes to play thanks to a poorly timed challenge on David Okereke by Rui Patricio.
Keeper Patricio picked the right way and got a hand to the ball, but it wasn’t enough to stop the strike from Daniel Ciofani.
Speaking to Roma’s club media after the game, Mourinho was candid.
“We didn’t deserve to win,” he said.
“I was pleased with our reaction [to going behind], with our desire to win.
“But we didn’t do enough.”
When questioned about his expulsion from the dugout, Mourinho claimed it was in fact the fourth official whose behaviour ought to be examined.
“To be an official, to have the authority in a football match, it’s you who must respect others,” he said.
A jubilant Cremonese manager, Davide Ballardini, was proud of his team’s efforts.
“We played a brilliant game, we pressed well, we played with intensity,” he said.
Ballardini insisted that despite the much needed three points, the team's focus won’t change.
“We don’t look at the table, only at the performance.”
Cremonese remains eight points from safety, while Roma is one point outside the Champions League qualification zone.