Italy Under 20s took the lead against England in the World Cup semi-final, but a disastrous second half display saw them crash out.
Riccardo Orsolini got his fifth goal of the competition after just two minutes, but a second half collapse saw the Three Lions reach the final.
The Azzurri opened the scoring after just two minutes, thanks to some lovely work by Andrea Favilli.
The Livorno striker twisted and turned on the left-hand side of the box, before cutting the ball back for the onrushing Riccardo Orsolini who slammed the ball past Freddie Woodman.
It was a frantic start to the game, with the Azzurrini coming under pressure from Everton pair Ademola Lookman and Jonjo Kenny in the England midfield.
Federico Dimarco had a shot from outside the box on 41 minutes, but Woodman read it for a comfortable save.
Dominic Solanke forced a good save from Andrea Zaccagno just before the break, but the Azzurrini held their 1-0 lead.
After half-time the Three Lions pushed hard for an equaliser, with substitute Sheyi Ojo sending a shot wide on the turn after 53 minutes.
On the hour mark Zaccagno pulled off a great save from Ojo’s curling effort but he didn’t cover himself in glory for the English equaliser.
Ojo crossed from the right and the Italy goalkeeper could only palm the ball to the feet of Solanke, who fired it into the net.
Lookman put the Three Lions ahead after the Azzurrini defence failed to clear another Ojo cross.
Italy pushed for an equaliser, but they were caught out on the break and Solanke added a third from range to put England through to the final to face Venezuela.
The Azzurrini will face Uruguay in the third-place play-off.
Italy 1-3 England
Orsolini 2 (I) Solanke 66 88 (E) Lookman 77 (E)
Italy: Zaccagno; Scalera (Bifulco, 87), Romagna, Coppolaro, Dimarco; Pessina; Orsolini, Vitale (Vido, 78), Mandragora, Panico (Ghiglione, 69); Favilli
England: Woodman; Kenny, Tomori, Clarke-Salter, Walker-Peters; Maitland-Niles, Dowell (Ojo, 54), Cook, Lookman (Konsa Ngoyo, 93); Solanke, Calvert-Lewin