Despite falling behind early, the brilliant Vatreni fought back and saw off the holders in dramatic fashion. FFT's Joe Brewin runs the rule over Euro 2016's great entertainers...
Well, that was unexpected – but oh, what fun.
This result wasn't supposed to happen: a talented but flawed Croatia side, featuring five changes to their starting XI (y'hear, England?), seeing off a seemingly settled Spain who'd dismantled Turkey in their last game. That, after Tuesday night's opponents had chucked away a two-goal lead against the Czech Republic.
It definitely wasn't supposed to happen when Alvaro Morata scored after seven minutes. Or when Spain got a penalty midway through the second half, after Nikola Kalinic had equalised on the stroke of half-time. But Sergio Ramos missed it, paving the way for Ivan Perisic to finish past an out-of-sorts David de Gea with three minutes left.
Croatia progress as group winners, leaving the Spanish reeling with a last-16 clash against Italy. Here's what we liked about Ante Cacic's side...
1. They fought back resolutely
Conceding early to Spain is normally disastrous – really, they're the worst opposition possible to allow such a goal against. But, oddly, Vicente del Bosque's side lacked the control they really wanted thereafter and Croatia made the holders pay dearly. Sure, Spain had the possession and indeed chances too, but it's hard to recall too many occasions when Croatia keeper Danijel Subasic was really tested.
Croatia's big weapon was their counter (just look at how few passes they actually made in the opposition half, above), and in the end that's how Perisic won the game for them. They didn't really bother trying to play through their best man Ivan Rakitic – even in the absence of Luka Modric through injury – and, incredibly, by half-time no player had made fewer passes than the Barcelona man (he made 3 in the second half). But it didn't matter – their alternative gameplan worked.
— Stats Zone (@StatsZone) June 21, 2016
2. Darijo Srna, leader
Just last week, the 133-capped Croatia legend flew home to be with his family after the death of his father. He returned to play in his team's draw with the Czech Republic, then made Croatian history against Spain with a record 17th major tournament appearance for the Vatreni. But he was also terrific against la Roja, leading by example at the back and offering support in attack too.
Modric from the bench tells Srna to inform Subasic where Ramos will hit his penalty. Busquets see this & tell Ramos. pic.twitter.com/5tQY8VluKR
— M.A.J (@UItraSuristic) June 21, 2016
Srna, who also broke Shakhtar Donetsk's all-time appearance record in April, won 6 of his 7 attempted tackles – the most of any player – and chucked in 4 crosses in attack, 2 of which found a blue shirt. Aged 34, he's still got it.
3. That counter-attack
Belgium are probably the deadliest side at Euro 2016 in this respect, but Croatia have clearly got the players to do damage here too. Their winner began in defence with a fine block from Srna, was crafted by some neat hold-up play from the impressive Kalinic, and finished off with a blitzing run and finish from their wideman Perisic.
— Stats Zone (@StatsZone) 21 June 2016
On the other flank, Dinamo Zagreb's 21-year-old Marko Pjaca was also terrific: he completed 7 of his 8 attempted take-ons, mostly from deep positions, thus offering Croatia another excellent outlet down the right. The below dribbles were basically his and Perisic's work, and meant Spain full-backs Juanfran and Jordi Alba were given a rough ride. What better way to nullify the latter pair's attacking threat? It was good enough for Leicester last season...
4. Tireless Perisic gets reward
The Inter wideman was already earning plaudits before his 87th-minute winner, having laid on Kalinic's equaliser just before half-time and generally proved a menace with his insatiable work-rate down the left.
Perisic has rarely earned the credit he deserves as a footballer, but should he continue with performances like this there's a strong chance he'll be up there for end-of-tournament individual honours. Juanfran was beaten all ends up before the 27-year-old's assist for Kalinic, who he also supported ably throughout – check out his average position on the Player Influence Stats Zone grab below. With a display like this, he's a lone striker's dream.
5. Badelj the brute
The Fiorentina man was brutally effective for Croatia: he recovered possession 12 times, five more than any other player, won all four of his tackles (only Srna completed more), completed the joint-most interceptions and made the most blocks (3) of anyone else on the pitch. Need more be said?
Unsurprisingly, the 27-year-old is a player in demand: despite having two years left on his Viola contract it doesn't look like he'll be staying put, and a club with Champions League football looks likely to win his signature this summer. Badelj's agent has been angling for a move – and Tottenham have been heavily linked.