The Croats, desperate to replicate their World Cup success of recent years at a Euro where they have never won a knockout match, were no match for Spain's clever attacking play with coach Zlatko Dalic's game plans going out the window after about half an hour.
Croatian fans outnumbered Spain supporters in the cavernous Olympiastadion by at least 10 to one but it was the Spaniards who took the initiative from the start with a high pressing game.
Croatia, 2018 World Cup finalists and semi-finalists four years later, gradually got more of the ball to take some of the pressure off and even carved out a half chance with an Ante Budimir header that missed.
But a lightning quick three-pass combination and transition with Fabian delivering a defence-splitting through ball for Morata put Spain in the driving seat.
Before Croatia had any time to recover, their opponents struck again with Pedri picking out Fabian at the edge of the box and the midfielder dribbling past three players to thread the ball in.
With the Croatian defence in complete disarray, Yamal then floated a cross into the box and Carvajal easily slipped past three defenders to volley in their third goal.
The Spain teenager, who showed no signs of nerves in his tournament debut, almost got on the scoresheet himself seven minutes after the restart but keeper Dominik Livakovic pulled off a superb one-handed save to deny him.
Croatia did have a triple chance a little later but neither Budimir nor Josip Stanisic could push the ball over the line.
They then earned an 80th minute penalty with Spain keeper Unai Simon blocking Bruno Petkovic's spot kick. He put the ball in the net on the rebound but his effort was cancelled because of encroachment.
Spain, who also beat the Croats -- on penalties -- to win the Nations League last year, next play Italy while Croatia take on Albania.
Published 15 June 2024, 18:32 IST