Forward Alexis Sanchez continued his revival as he set up the opening goal for Antonio Candreva in the first half and added the third himself on the hour. Cristiano Biraghi and Roberto Gagliardini scored the other goals.
Inter have slashed five points off the gap between them and Juve in the last three games although it still looks as if they have left it too late to catch the stuttering leaders.
However, the Turin side will now be looking over their shoulders when they host fourth-placed Lazio on Monday. Chasing an unprecedented ninth successive title, Juve have 77 points with Inter on 71, Atalanta 70 and Lazio 69.
AC Milan and Inter Milan 'rejected Ronaldo' after call from agent - reports
SPAL, 11 points adrift of the safety zone and looking doomed to the drop after three seasons in the top flight, held out for 37 minutes until Sanchez received the ball in the middle and flicked it to Candreva who beat goalkeeper Karlo Letica.
The Chilean was at the centre of most of Inter's best moves and it was his sixth assist in the last seven games.
Inter have let several games slip from their grasp since the season restarted but were in no mood to make the same mistake.
They went further ahead 10 minutes after halftime when Lautaro Martinez's pass was deflected to Biraghi who fired a low shot into the corner from the edge of the penalty area.
Biraghi then provided a low cross into the area for Sanchez to head the third on the hour and Roberto Gagliardini rolled the ball into the net for the fourth from Ashley Young's pass.
SPAL have 19 points after a sixth loss in seven games.
Inter finish with a win but fall short in Scudetto quest
'Destiny has led us down different paths' - Dybala confirms Juve departure
Share this article