Both nations entered their 10th and final qualifier sitting level on points in Group C, but the Azzurri in second place knew that they only needed to avoid defeat against Ukraine in third to secure an automatic qualification spot, due to their 2-1 win over the Blue and Yellow in the reverse fixture.
Luciano Spaletti's side travelled to Leverkusen in buoyant mood after boosting their qualification hopes with a 5-2 home victory over North Macedonia in their penultimate Group C match last Friday.
Although Italy were wasteful in the final third against Ukraine, firing just two of their 17 shots on target, they ultimately did enough to secure their spot at Euro 2024, along with Group C winners England.
The Azzurri should have been ahead inside the opening seven minutes, but Juventus' Federico Chiesa blazed a glorious chance over the crossbar from close range after Nicolo Zaniolo headed the ball into his path at the far post.
Giacomo Raspadori then failed to make contact with a fizzed delivery across the six-yard box from Chiesa despite his best efforts to slide towards goal, before Davide Frattesi was denied with a superb block by Anatolii Trubin just after the half-hour mark.
Frattesi was then denied by another block, this time from Everton's Vitaliy Mykolenko, before Chiesa - who was heavily involved for Italy in the first 45 - and Giovanni Di Lorenzo directed decent efforts off target.
Towards the end of the first half, Gianluigi Donnarumma was almost caught out by a Ukraine throw that eventually made its way to Mykhaylo Mudryk at the back post, but the Chelsea winger was denied by the 6ft 5in frame of Italy's number one.
More to follow.