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.
"We played really good football at times and deserved to win," said Gundogan.
"If we play like we did today, many teams will have a hard time against us."
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.
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.
"We didn't play the game we wanted," admitted Gnonto. "Germany were clearly better and we have to match this level, which won't be easy."