Spain took the lead against the run of play after Jorrel Hato was caught in possession by Lamine Yamal. The young winger found his club team-mate Pedri, who duly squared the ball to Nico Williams. The Bilbao winger blasted home in the ninth minute.
The Netherlands steadily grew into the game, bossing possession for much of the first half. The pressure finally told in the 28th minute, when Cody Gakpo rifled a low finish into the Spanish net after a well-worked move, inspired by a marauding run by Jeremie Frimpong.
The Netherlands quickly asserted their dominance after the break, scoring their second a minute after the second half whistle. Again Frimpong was the inspiration, as the Leverkusen ma ndrove into the Spanish box before finding Tijjani Reijnders. The AC Milan midfielder produced a fine finish into the far corner of Unai Simon's goal.
La Roja posed little threat to Die Oranjee's during the second half, until an 82nd minute red for a rash tackle by Hato invited mounting pressure for the game's final moments. Eventually, the Spanish attack told. Bart Verbruggen could only parry a Williams effort back into the box, allowing substitute Merino to turn the rebound into an empty net in the 93rd minute.