Napoli striker Raspadori decided an otherwise uninspiring encounter with a superb second half strike at the San Siro to keep the European champions two points behind League A, Group 3 leaders Hungary.
Roberto Mancini's side face Hungary in Budapest on Monday and will make the final four with a win, which would be a small boost for the Azzurri after missing out on their second straight World Cup.
England will be in Qatar in November but defeat in Milan sent Gareth Southgate's side down to League B after another flat display in which they barely created anything.
They haven not won a game in this season's Nations League and are four points behind Germany, who sit third after losing to Hungary and will play a dead rubber with England at Wembley while Italy try to make the final stages.
"We put in a good performance against a strong team, we were attack-minded, created chances and controlled the match while bringing home the win. We needed this kind of victory against a top opponent," said Raspadori to Italian broadcaster Rai.
"We want to return to being the team we were before and put Italy back where we belong."
Triumph at Euro 2020 seems almost a lifetime ago for Italy, who have been going through a crisis of results and confidence since they brought the trophy home to joyous crowds in July last year.
Mancini has been trying to rethink his team after the humilation of not qualifying for this winter's World Cup, but his squad selection was hampered by a host of injuries to key players in the lead up to the match which forced to him to switch to a back three.
Ciro Immobile was the fifth player to pull out injured in the run up to Friday's match and his replacement up front Gianluca Scamacca was unlucky not to give Italy a fifth-minute lead when his close-range header was tipped off the bar by Nick Pope.
Italy were on the front foot for the opening quarter of an hour but England slowly began to gain a football after being surprised the hosts' fast start.
England knew that a defeat would send them down but despite dominating the ball their difficulties creating chances continued, with Harry Kane blasting over from distance their highlight from an uneventful first half.
There was little to recommend about the spectacle served up by both sides after the break apart from Raspadori's 68th-minute winner, the game's only true touch of class.
The 22-year-old brilliantly brought down Leonardo Bonucci's long pass and easily skipped round Kyle Walker before whipping home a beautiful shot from the edge of the area.
The introduction of Jack Grealish for Bukayo Saka did little to improve England's creativity but Gianluigi Donnarumma pulled off a pair of smart saves in quick succession to deny Harry Kane with 13 minutes remaining.
And it was Italy who should have doubled their lead in the closing stages when Manolo Gabbiadini fluffed a one-on-one with Pope before Federico Dimarco saw his shot clip out off the post.
England kept pressing for a leveller but solid Italy defending made sure that the hosts held out and gave themselves something to play against Hungary.