Ante Budimir's opener was his first goal of qualifying
Croatia became the final team to automatically secure their place at Euro 2024 with victory over Armenia.
The result means they finish second, behind Turkey, in Group D, and send Wales into the play-offs.
It was threatening to be a frustrating night for Croatia but Ante Budimir met Borna Sosa's cross to secure the win.
It means they continue their record of qualifying for every European Championship since 2004 and every major tournament since 2010.
They went into the game knowing they needed to at least match Wales' result against Turkey to qualify but quickly found themselves in the play-off positions as Rob Page's side took an early lead in Cardiff.
But, Zlatko Dalic's side were dominant from the off in Zagreb, having 75% possession in the opening 15 minutes and eight shots before they opened the scoring.
Budimir showed good movement to get in front of his marker at the near post and stoop down to head into the bottom corner for his first goal in qualifying.
He saw a second disallowed for a foul, but Croatia continued their qualifying record of remaining unbeaten when leading at half-time to seal their place in Germany.
Qualification means that midfielder Luka Modric, 38, will, fitness permitting, play in his ninth major tournament. He was a runner-up at the 2018 World Cup and finished third at last winter's tournament in Qatar.
Croatia will find out who they face in the group stages when the draw takes place on 2 December.
- Line-upsMatch StatsLive Text
Line-upsCroatia
Formation 4-2-3-1
1Livakovic2Stanisic6Sutalo4Gvardiol19Sosa10Modric11Brozovic7Majer9Kramaric18Ivanusec17Budimir
- 1Livakovic2StanisicSubstituted forJuranovicat 50'minutes6Sutalo4Gvardiol19Sosa10Modric11Brozovic7MajerSubstituted forSucicat 84'minutes9KramaricSubstituted forPasalicat 69'minutes18IvanusecSubstituted forPasalicat 45'minutes17BudimirSubstituted forBaturinaat 84'minutes
Substitutes
- 3Pongracic5Erlic8Baturina12Labrovic13Pasalic14Sucic15Pasalic16Moro20Beljo21Vida22Juranovic23Ivusic
Armenia
Formation 5-4-1
1Cancarevic13Hovhannisyan2Calisir22Harutyunyan5Mkrtchyan21Tiknizyan7Sevikyan18Harutyunyan8Spertsyan10Zelarayán17Ranos
- 1Cancarevic13HovhannisyanSubstituted forPiloyanat 86'minutesBooked at 87mins2Calisir22Harutyunyan5Mkrtchyan21Tiknizyan7SevikyanSubstituted forSerobyanat 70'minutes18HarutyunyanSubstituted forDashyanat 70'minutes8Spertsyan10ZelarayánSubstituted forBichakhchyanat 45'minutes17RanosSubstituted forMiranyanat 73'minutes
Substitutes
- 3Khachumyan4Voskanyan6Shaghoyan9Serobyan11Miranyan12Buchnev14Piloyan15Margaryan16Beglaryan19Angulo20Dashyan23Bichakhchyan
Referee:Ivan KruzliakMatch StatsHome TeamCroatiaAway TeamArmeniaPossessionHome67%Away33%ShotsHome21Away6Shots on TargetHome11Away2CornersHome11Away3FoulsHome6Away10Live Text Post update
Match ends, Croatia 1, Armenia 0.
90'+4'Full Time
Second Half ends, Croatia 1, Armenia 0.
90'Post update
Attempt saved. Luka Sucic (Croatia) left footed shot from outside the box is saved in the top right corner. Assisted by Marco Pasalic.
89'Post update
Corner, Croatia. Conceded by Georgi Harutyunyan.
89'Post update
Attempt missed. Marco Pasalic (Croatia) left footed shot from the right side of the box misses to the left. Assisted by Martin Baturina.
89'Post update
Corner, Croatia. Conceded by Artak Dashyan.
87'Booking
Erik Piloyan (Armenia) is shown the yellow card for a bad foul.
87'Post update
Josip Sutalo (Croatia) wins a free kick in the attacking half.
87'Post update
Foul by Erik Piloyan (Armenia).
86'Substitution
Substitution, Armenia. Erik Piloyan replaces Kamo Hovhannisyan.
85'Post update
Hand ball by Styopa Mkrtchyan (Armenia).
84'Substitution
Substitution, Croatia. Martin Baturina replaces Ante Budimir.
84'Substitution
Substitution, Croatia. Luka Sucic replaces Lovro Majer.
83'Post update
Attempt missed. Marco Pasalic (Croatia) right footed shot from a difficult angle on the right is close, but misses to the right.
81'Post update
Attempt saved. Artak Dashyan (Armenia) right footed shot from outside the box is saved in the top centre of the goal. Assisted by Artur Serobyan.
79'Post update
Offside, Croatia. Josip Juranovic tries a through ball, but Marco Pasalic is caught offside.
78'Post update
Foul by Marcelo Brozovic (Croatia).
78'Post update
Artur Serobyan (Armenia) wins a free kick in the defensive half.
76'Post update
Corner, Croatia. Conceded by Ognjen Cancarevic.
76'Post update
Attempt saved. Marcelo Brozovic (Croatia) right footed shot from the centre of the box is saved in the top centre of the goal.
Page 1 of 5rewindpreviousNavigate to the next pagenextNavigate to the last pageforward
Source: bbc.com