Italy are top of Group B with seven points from their three matches ahead of Bulgaria, who have five. Czech Republic are third after beating Malta 3-1 away.
"These are hard matches but the team showed personality and desire to play, we risked a bit but that's normal," Italy coach Cesare Prandelli told RAI television.
"The team played from the first minute to the last with the mentality to win the game. If you go out to press the opposition high up the pitch, it can also happen that they break on you."
Prandelli's side started brightly and took the lead in the 11th minute through Andrea Pirlo's penalty after Riccardo Montolivo's cross was handled by Hrayr Mkoyan.
Armenia equalised when Henrikh Mkhitaryan collected a knock-down, following a clash of heads between Christian Maggio and Hrayr Manoyan, and skipped past Andrea Barzagli before driving the ball low across Italy goalkeeper Gianluigi Buffon.
Prandelli and his players protested after the goal, as Maggio remained on the ground, and replays appeared to show referee Marijo Strahonja moving to stop play as Mkhitaryan bore down on goal.
"Two players clash heads like that, you have to stop play," Prandelli said.
Buffon prevented Armenia from taking a second-half lead with a wonder save from a Davit Manoyan volley on 56 minutes and then again two minutes later when Aras Ozbiliz worked space in the area only to fire the ball at the keeper.
De Rossi gave a stuttering Italy the lead after 64 minutes when he charged on to a pinpoint Pirlo cross to head from close-range past Roman Berezovski off the bar.
Vardan Minasyan's team were a constant threat on the break, causing the Italian defence all sorts of problems.
They could have equalised for a second time when Mkhitaryan robbed Leonardo Bonucci on the edge of the area and fired a dangerous cross that De Rossi almost put in for an embarrassing own goal.
After Stephan El Shaarawy somehow failed to score for Italy on 80 minutes when presented with a golden opportunity in the middle of the area by Maggio, Pablo Osvaldo sealed the win a minute later, heading home a De Rossi free kick.
Ten-man Bulgaria held on to earn a 1-1 draw with Denmark in a tense Group B qualifier but missed the chance of going level on points with group leaders Italy.
Bulgaria, missing four first-choice players due to injury or suspension, took the lead after seven minutes when Dimitar Rangelov headed home from close range from Ivan Bandalovski's right wing cross.
The match turned sour for the home side in the 26th minute when right back Bandalovski, deputizing for suspended Veselin Minev, was shown a straight red card after a dangerous tackle on Daniel Wass.
Striker Nicklas Bendtner rose to head home a high looping cross from Michael Krohn-Dehli to haul Denmark level five minutes before the interval.
Denmark stepped up a gear after the break but a strong performance by keeper Nikolay Mihaylov denied efforts by substitute Andreas Cornelius and Christian Eriksen, who also hit the bar with a long-distance shot.
Bulgaria gradually gained in confidence and spurned a couple of scoring opportunities with keeper Stephan Andersen parrying Nikolay Bodurov's header while substitute Alexander Tonev blasted just over the bar.
Two second-half goals and a late penalty save from Petr Cech allowed Czech Republic to beat bottom of the table Malta 3-1 to record the first win of their World Cup qualifying campaign.
The home team took the lead with a powerful Theodor Gebre Selassie header in the 34th minute but Malta struck back four minutes later when Roderick Briffa capitalised on a defensive lapse to loft the ball into the net.
The Czechs started the second half with more urgency and were rewarded in the 52nd minute, Tomas Pekhart directing in a Petr Jiracek cross to claim his first international goal.
Jan Rezek made it 3-1 in the 67th minute when he swept a cross from Jaroslav Plasil past keeper Andrew Hogg.
Chelsea keeper Cech then saved a penalty from Mifsud from the last kick of the match.
The Czechs now have four points from two games in Group B while Malta have lost all three matches.