Chelsea midfielder Jorginho slotted in a penalty after 63 minutes with Juventus forward Federico Bernardeschi scoring the second goal on 78 minutes.
Roberto Mancini's side have a maximum 21 points from seven games and qualify with three games to spare.
Four-time world champions Italy, who failed to qualify for the 2018 World Cup, are one of 12 countries hosting matches in Euro 2020, which gets underway on June 12 in Rome.
The Azzurri, wearing their new green kit, had dominated early but were pinned back by the Greeks who had the best chance of the first half with Gianluigi Donnarumma superbly denying Dimitris Limnios.
Both Lorenzo Insigne and Nicolo Barella were off target with Italy losing Fiorentina forward Federico Chiesa to injury before the break to be replaced by Bernardeschi.
Ciro Immobile threatened twice after the break with Alexandros Paschalakis turning away the Lazio forward's header.
But the Italians were awarded a penalty after Andreas Bouchalakis used his hand to block a goal-bound Insigne effort.
Jorginho stepped up to convert sending Paschalakis the wrong way to the delight of the 60,000 crowd in the capital.
It was the Chelsea player's third goal for Italy, all from the spot.
Bernardeschi then struck from distance 12 minutes from time, his shot taking a hefty deflection to deceive Paschalakis.
Both Italy and Greece have won the European Championship once each.
Italy won in 1968 and Greece in 2004.