Xavi Simons saw a potential winner controversially disallowed as the spoils were shared in a 0-0 draw between the Netherlands and France in Group D at Euro 2024.
A VAR check led to the Dutchman's 69th-minute strike being chalked off for offside, stopping the Oranje from booking their place in the round of 16 with a game to spare.
Antoine Griezmann squandered a host of chances for France, who struggled in front of goal with Kylian Mbappe relegated to the bench due to a broken nose.
Both sides move onto four points, and after Austria's win over Poland earlier on Friday, it is all to play for between the top three on the final matchday, with Poland the first team to be officially eliminated from the tournament.
The Netherlands came flying out of the blocks, with Jeremie Frimpong forcing a fingertip save from Mike Maignan with less than a minute on the clock.
France soon found their footing though, with Griezmann, wearing the armband in Mbappe's absence, failing to scramble it in from six yards after Adrien Rabiot's lay-off before he drilled another effort just wide of the post.
Maignan was required again when Cody Gakpo cut inside from left before whipping a firm shot across goal, as the goalkeeper got a strong hand to it.
Just before the half-hour mark, Marcus Thuram looked set to break the deadlock after beating the offside trap, but one-on-one with the goalkeeper, he sliced his effort over the crossbar.
After a slow start to the second half, France rallied on the hour mark, with Aurelien Tchouameni flashing a header over before Griezmann saw another glorious opportunity smothered by Bart Verbruggen at his near post.
Against the run of play, Simons thought he had given the Netherlands the lead by picking out the bottom-right corner after latching onto the rebound of Memphis Depay's saved shot, but Denzel Dumfries, in an offside position, was judged to be impeding the goalkeeper and the goal was ruled out after a lengthy VAR check.
Toothless France struggle without their talisman
All the pre-match talk centred on whether Mbappe would be fit to play after suffering a broken nose against Austria.
The answer: he was not. Instead, he started on the bench, with Marcus Thuram tasked with playing as the main forward in his absence.
Griezmann provided their foremost threat though, appearing in his 11th consecutive game at the Euros for France – Portugal's Cristiano Ronaldo (18) and Germany's Toni Kroos (13) are the only outfielders on longer such streaks for their nations.
It was a record-equalling appearance for the stand-in captain too, his 32nd at major tournaments, the most for a French outfielder along with Lilian Thuram.
However, the forward had four of France's five first-half shots, finishing with five overall, but failed to lead Les Bleus to a statement victory.
Still, France's wait for a win without Mbappe in their starting lineup goes on, as they have failed to come out on top in any of their last seven such matches (four draws, three defeats).
Netherlands smother Les Bleus
After losing both meetings in qualifying for Euro 2024 by an aggregate score of 6-1, the Netherlands were likely not too happy to come up against Les Bleus once more.
However, in the absence of Mbappe, who has scored six goals in five matches against the Dutch, the Netherlands were able to hold firm.
At the Euros, the Oranje have now avoided defeat in all three of their group-stage meetings with France (2000, 2008, 2024).
Defensively, they stood strong. Despite France having 13 shots, only three were on target as they created 1.4 expected goals (xG).
Virgil van Dijk led by example, making the most clearances (seven) of anybody on the pitch as the Netherlands protected their clean sheet.