The result in Moenchengladbach matched the Germans’ 5-2 triumph over the Azzurri at Berlin’s Olympic Stadium back in 1939.
An early goal by Joshua Kimmich and Ilkay Gundogan’s penalty at Borussia Park put the hosts 2-0 up before the floodgates opened early in the second half.
Thomas Mueller scored his 44th goal for Germany on his 116th international appearance before Werner scored twice in quick succession.
Italy’s consolation goals came late on through 18-year-old striker Wilfried Gnonto and Alessandro Bastoni.
The result sees Germany move second in Group A3 as previous leaders Italy dropped to third, with Hungary top after a shock 4-0 win over England in Wolverhampton.
Germany could only scramble a 1-1 draw thanks to a late Kimmich goal when the sides last met in Bologna in early June, but this was a vastly improved performance.
Italy coach Roberto Mancini paid the price for making nine changes from the team which drew with England last weekend as only Gianluigi Donnarumma and David Frattesi kept their places in an experimental side.
German coach Hansi Flick made five alterations to the team which drew with Hungary in Budapest last Saturday as Gundogan seized his chance on his return.
The Manchester City star bossed the Italian midfield, creating more space up front.
Germany took the lead when Werner and Hoffenheim’s David Raum combined to set up Kimmich, who fired in on 10 minutes.
Italy conceded again just before half-time when Bastoni brought down Jonas Hofmann and Gundogan swept the resulting penalty past Donnarumma.
Mueller grabbed Germany’s third goal when he drilled a sloppy clearance into the Italian net.
Werner punished the visitors with two goals inside a minute, as Serge Gnabry provided both assists after slicing through the Italy defence.
Germany goalkeeper Manuel Neuer, who had been outstanding all night, was finally beaten when he blocked a shot by Federico Dimarco into the path of Gnonto, then Bastoni headed in.