A goalless draw means France and Switzerland finish one-two in Group A. In the other match, Albania keep their Euro campaign alive for the moment with a 1-0 win over Romania. The Romanians are headed home.
France were gunning to finish first in Group A against Switzerland in Lille, with the Swiss needing a draw to be guaranteed of staying in the tournament. In the other match, in Lyon, Romania were trying to build on their lone point, while anything short of a victory would doom Albania, on zero points, to an early trip home.
France made a number of changes to their starting line-up. Stars Paul Pogba and Antoine Griezmann were back in while Olivier Giroud and Dimitri Payet were rested. Switzerland benched luckless striker Haris Seferovic in favor of 19-year-old Basle forward Breel Embolo.
France started on the front foot, but it was Switzerland with the first chance in minute 8, as Pogba was just able to keep the ball away from Johann Djourou after confusion in front of France's goal.
Les Bleus soon asserted themselves, though. In minute 17 Pogba rattled the crossbar with a ferocious shot from 25 meters. The midfielder, who was benched for the France's second match after a disappointing Euro 2016 debut, was clearly out to make a statement, putting in cross after cross. But Pierre Gignac couldn't put any of them away, and the first half ended scoreless.
Over in Lyon, Romania got off to the brighter start, racking up 60 percent of possession. But Albania weathered the first ten minutes of attacks unscathed and gradually found their way into the match.
And the men in black grabbed a not-undeserved lead in the dying minutes of the first half. Romanian keeper Ciprian Tatarusanu flapped a cross by Ledian Memushaj. Wide-open striker Armando Sadiku headed the ball into the vacated goal to put Albania in front. It was the first time the Albanians had scored at Euro 2016.
No late fireworks on Sunday
The second half in Lille was the opposite of the first, with Switzerland hogging two-thirds of possession in the first fifteen minutes. This time, it was France with the first chance, but Yaan Sommer did a good job deflecting a shot from a wide-open Antoine Griezmann.
Although a draw would have been enough to ensure group victory, France were going for the win, and coach Didier Deschamps substituting in new fan favorite Payet for the disappointing Kingsley Coman on the hour mark.
Over in Lyon, Romania pressed, but Albania weren't impressed. Although the Tricolorii continued to enjoy two-thirds of the ball, the shots on goal for the two sides were even.
In Lille, the impressive Moussa Sissoko blew past a clutch of defenders up the right flank and crossed perfectly more than half the width of the pitch to Payet. His volley smacked the underside of the crossbar but just stayed out.
Almost simultaneously, Romania's Florin Andone rocked the crossbar. But that was to be Romania's last chance. Albania booked a 1-0 win that took them to third in Group A. They may now progress if they end up as one of the four best third-placed teams. But with only three points, Albania aren't counting their chickens. Romania are out of Euro 2016.
In Lille, France didn't create any more quality chances. Switzerland shouted for a penalty for a shirt pull by Bacary Sagna, but the referee was having none of it. The match ended goalless.
France win the group and will face one of the third-best teams next Sunday. Switzerland end up in second and will draw the second placed team from Germany's Group C on Saturday.