Italy will defend their European Championship title next year in Germany after a 0-0 draw with Ukraine was enough to secure their place.
The game was technically a home fixture for Ukraine, but was played at Bayer Leverkusen's stadium in Germany because of the Russian invasion of Ukraine.
The result came as something of a surprise after both teams created plenty of chances on Monday night (Tuesday AEDT). Italy stayed devoted to coach Luciano Spalletti's all-action attacking style despite needing only to avoid defeat.
Federico Chiesa, Giovanni di Lorenzo and Davide Frattesi all missed excellent chances in the first half for the Azzurri.
Ukraine, who were angered by a decision not to give them a penalty in added time for what seemed like a trip on Mykhailo Mudryk by Bryan Cristante, could still qualify for Euro 2024 via the playoffs.
"We are very happy. We are where we deserve to be, after all the difficulties that we had," Italy captain and goalkeeper Gianluigi Donnarumma said.
Elsewhere in Group C, England completed an unbeaten qualifying campaign with a drab 1-1 draw at North Macedonia.
Bayern Munich striker Harry Kane forced an equaliser via an own goal just seconds after coming on as a substitute in the 58th minute.
That cancelled out the opener from Enis Bardhi, who tucked away a rebound after his penalty was saved by England goalkeeper Jordan Pickford in the 41st minute.
The spot kick was awarded when Rico Lewis — the Manchester City defender making his England debut — was adjudged to have struck Bojan Miovski in the face with his hand as he made a clearing header.
England had already secured qualification for next year's tournament and finished with six wins and two draws, six points clear of second-placed Italy.
"I think after the qualifying we've had it was always going to be tough here but we dug in and got a point," Kyle Walker told Channel 4.
"It's football. It's been a short week, two games when we've already qualified. It's no excuses, we know we should be taking three points from here but it's something to work on for the future."
In Group E, the Czech Republic beat 10-man Moldova 3-0 to book their ticket.
The win means the 1996 runners-up will play in their eighth successive Euros after finishing second, level on 15 points with Albania, who drew 0-0 with Faroe Islands.
In Group H, Benjamin Verbic scored a late winner as Slovenia secured their qualification, but opponents Kazakhstan will have to earn their place through March's playoffs following the 2-1 loss.
Group winners Denmark wrapped up their campaign with a 2-0 defeat in Northern Ireland, while Finland won 2-1 at San Marino.
With Reuters & PA.