Milan are third, one point ahead of Inter, with Roma in fifth three points back in the battle for elite European football next season, ahead of Sunday's Milan derby.
Ranieri had won his first match after taking over from sacked Eusebio Di Francesco -- 2-1 against Empoli -- but his side fell to their relegation-threatened hosts, leaving Roma's season in the balance after their Champions League elimination at the hands of Porto and 3-0 beating by to city rivals Lazio.
"I expected more. Our opponents were a team and we weren't," said Ranieri of Roma, who also lost the reverse fixture 2-0 in October.
"There's a plan in place if Roma get into the Champions League," he warned his players. If we don't, quite a few of these guys could change clubs.
"We lost to a team who earn less than us, who are more humble than us, more determined than us, who are up to their necks in it, and they showed all that today." -
Roma under threat -
Algerian international Mohamed Fares nodded SPAL ahead after 22 minutes, and Ranieri introduced 19-year-old rising star Nicolo Zaniolo after the break to immediate effect.
SPAL held on for just their sixth win of the season and first home victory since September, which moved them up to 15th place, five points above the drop zone.
Roma are now under threat from Atalanta, who are three points behind ahead of their game against bottom club Chievo on Sunday.
Torino missed the chance to pull level on points with Ranieri's stuttering outfit when they fell to their first defeat in two months, 3-2 to lowly Bologna.
Pulgar then scored from the penalty spot after 34 minute with Ricardo Orsolini adding a third after 65 minutes. Armando Izzo pulled a goal back a minute from time for Torino, who drop out of the Europa League places.
Both teams finished with 10 men with Lyanco and Ola Aina both sent off late for two yellow cards. Sampdoria beat Sassuolo 5-3, with Serie A top scorer Fabio Quagliarella, 36, scoring his 21st goal of the season days after being recalled to the Italy team.
Sampdoria are ninth, two points off the Europa League places with Sassuolo a further 10 points behind. Title-holders Juventus return to domestic duty against Genoa on Sunday, looking to build on their 18-point lead at the top.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)