Italy on verge after beating Bulgaria
The world champions, who put on a much improved display compared to recent matches, are now four points clear of second-placed Ireland and with two to play and need just a draw against the Irish in Dublin on October 10 to progress.
Left back Grosso, drafted back into the side after Saturday's uninspiring 2-0 win in Georgia, opened the scoring after 11 minutes when he volleyed in off the bar following Andrea Pirlo's delightful dink into the box.
World Cup winner Grosso had played the ball to Pirlo before charging into the area and coolly scoring on his first appearance at his new home ground having signed for Juventus last week.
Striker Iaquinta, another of the seven Juve players to start for Italy, then finished off another neat one-two involving Alberto Gilardino five minutes before the break.
Italy coach Marcello Lippi had come in for criticism for a string of dull performances and was pleased to finally win with style, even though captain Fabio Cannavaro was booked and will miss the Ireland game.
"In the first half it was a spectacle and it was entertainment," he told Rai television.
"There was a lot of technical quality and two splendid goals. We are not at the top of our game, some other teams are ahead of us but we have controlled the match." MORE URGENCY
His side generally had much more urgency and Juve's Claudio Marchisio did a good job in the problem left midfield spot having seen the birth of his child and recovered from a thigh knock in time to make his second cap.
The defeat means Bulgaria can no longer win the group while they lie five behind Ireland and their chances of grabbing second spot and a playoff place are very remote.
Italy's most attacking display of the last few months meant the Azzurri left gaps at the back but Bulgaria lacked conviction when it mattered despite having several chances.
The visitors thought the ball had crossed the line when Gianluigi Buffon clawed out Stilian Petrov's first-half effort following a corner but replays were inconclusive.
Valeri Bojinov also hit the post after a defensive mix-up.