Roberto Mancini's side came from behind to make it five wins from as many games at the top of Group J thanks to Andrea Belotti, Lorenzo Pellegrini and an own goal from Armenia goalkeeper Aram Hayrapetyan.
Alexander Karapetian claimed a surprise 11th-minute opener in Yerevan but the home side's hopes of an upset were dealt a blow when the striker was sent off in first-half stoppage time.
Italy also struck the woodwork through Federico Bernardeschi immediately after equalising, while Belotti had two goals disallowed for offside, one incorrectly.
The visitors, without injured captain Giorgio Chiellini, started slowly and fell behind after sloppily conceding possession deep in Armenia's half.
Tigran Barseghyan led the hosts' counter-attack, driving forward before slipping the ball to Karapetian to clinically find the net via the left post and claim his fifth goal in his last seven international appearances.
The setback seemed to spark life into Mancini's men. Juventus winger Bernardeschi tested Hayrapetyan from 10 yards, before Karapetian and Marco Verratti were each shown a yellow card following a petulant clash near the halfway line.
Italy have not lost an away European Championships qualifier since September 2006 and were level after 28 minutes as Armenia switched off defensively.
Chelsea defender Emerson Palmieri easily tricked his way past Barseghyan on the left before delivering a pinpoint cross for the unmarked Belotti to volley home at the back post.
Italy almost turned the game on its head a minute later when Bernardeschi clipped the top of the crossbar with a curling effort.
Karapetian's needless earlier booking then proved costly a minute into first-half added-time when he was shown a second yellow by German referee Daniel Siebert after appearing to catch Leonardo Bonucci in the face with an outstretched arm.
Torino striker Belotti, who after his equaliser correctly had a goal ruled out for offside and then scuffed wide, continued to be in the thick of the action and squandered a golden chance to put his side ahead going into the break when he was superbly teed up by Federico Chiesa.
Despite their numerical advantage, the four-time world champions struggled to create in the second period and had to be wary of conceding a breakaway goal.
Armenia captain Henrikh Mkhitaryan, up against the country he now plays in following his loan switch from Arsenal to Roma, threatened when he forced a last-gasp block from Palmieri.
Italy eventually went in front 13 minutes from time. Stand-in skipper Bonucci swung a hopeful ball into the box and substitute Pellegrini rose to head his first international goal into the bottom left corner.
The unconvincing visitors had done little to warrant the lead but quickly put the result beyond doubt with a fortuitous third three minutes later.
Belotti twisted in the box before his low shot rebounded of the right post and hit keeper Hayrapetyan before trickling over the line.
The 25-year-old forward should have had more to celebrate in stoppage time but he was harshly denied by an incorrect offside flag after poking home from close range.