Olympique Lyonnais beat Nice 2-1 at Groupama Stadium in a lively Ligue 1 Round 7 meeting, decided by two first-half goals and plenty of second-half defending. Elye Wahi fired Nice ahead on 18 minutes, but Pavel Šulc and Tanner Tessmann flipped it by the 36th. Lyon then held firm after Keito Nakamura’s straight red card at 70 minutes. The numbers tell a balanced story overall, yet the decisive moments belonged to Lyon’s midfield and set pieces. You can dive into the full match data on Sofascore’s match page and track the season on the Ligue 1 hub.
Nice struck first with a classic wing-to-box pattern. Jonathan Clauss bent in a measured cross from the right, and Wahi arrived to steer it into the low corner for 0-1 on 18 minutes. Lyon didn’t stew for long. Šulc equalized at 32 minutes, reacting quickest after an initial effort was saved and finishing from close range with an xG of 0.92 on the move.
Four minutes later came the winner. From a set-piece phase, Zachary Athekame delivered a teasing cross and Tessmann attacked it, guiding a header past Yehvann Diouf for 2-1. The first half belonged to the hosts on the numbers: 60% possession, a 7-1 shot count and 1.37 to 0.42 in expected goals. Lyon also piled into the final third, logging 59 entries to Nice’s 12, with four fouls drawn in the attacking third. The visitors were pushed back and offered little beyond Wahi’s quality finish before the break.
Nice pile on the pressure after halftime
The second half flipped the flow as Nice controlled territory and tempo. They owned 66% possession after the break and out-shot Lyon 11-1, generating 1.08 xG in that period. Corners told the tale too: 8-0 for Nice in the second half, 9-1 across the match. Twice the frame rattled for the visitors, with Axel Witsel and Wahi both hitting the woodwork in their chase for a leveler.
Lyon dug in and defended the box with conviction. Rémy Descamps made three saves after halftime and finished with 0.41 goals prevented, while Moussa Niakhaté even produced a clearance off the line. The home side’s clearances ballooned to 30 in the second half and 36 overall. Nakamura’s red card on 70 minutes, just nine minutes after coming on, only deepened the backs-to-the-wall brief. Even then, Nice’s crossing volume (27 in the second half, 32 overall) returned only four accurate deliveries all game. Lyon suffered, stayed compact, and survived.
What the stats say about a narrow home win
On balance, Nice edged several volume metrics, but Lyon owned the big moments. Total shots finished 8-12 and shots on target 4-5 in Nice’s favor, while xG was nearly level at 1.46-1.50. Lyon did the clinical part better, converting two of their three big chances; Nice scored one of their two. Touches in the box were 21-27, again showing Nice’s pressure without the final payoff.
Passing volume was close, 471-500, with accurate passes at 399-435. But Lyon were far more incisive in entry play, posting 77 final-third entries to Nice’s 40. Crosses and long balls painted stylistic contrasts: Lyon went 3/12 on crosses and 17/48 on long balls (35%), while Nice hit 4/32 crosses and a strong 34/48 long balls (71%). In duels, Nice had the edge overall (53%) and completed more dribbles (9/16 to 5/15), yet Lyon won a higher share of tackles (73% to 68%).
Defensively, the hosts stacked up 36 clearances, 13 interceptions, and 48 recoveries, all slightly ahead of Nice’s 22, 10, and 45. Discipline also mattered: Nice collected four yellow cards and were caught offside three times; Lyon had no yellows and zero offsides but did take Nakamura’s red. Between the posts, Diouf’s minus goals-prevented figure (-0.64) contrasted with Descamps’ positive mark, underscoring the finishing and shot-stopping margins that often decide tight Ligue 1 matches.
MVP: Tanner Tessmann’s all-action display
Tessmann was the difference at both ends and earned a standout 8.6 Sofascore Rating. His headed winner was smartly timed and cleanly taken, coming off a set-piece delivery that Lyon exploited well all night. The American midfielder also led a committed defensive stand, posting six clearances, one interception and a won tackle when space was scarce. He handled the ball with control in tense moments, completing 41 of 47 passes and carrying the ball 17 times for meaningful territory.
He balanced duels and distribution, winning six ground and aerial battles combined, including four in the air. Tessmann also contributed on the front foot with two attempts, one on target, and an xG of 0.26 on his chances. With 62 touches and tidy progression, he often was the release valve and the organizer once Lyon went down to ten. It was the kind of midfield performance that knits a result together rather than just decorates it.
Supporting acts deserve a nod too. Athekame (7.8) delivered the assist and went three-for-three on tackles, adding six clearances and 83 touches at right-back. For Nice, Wahi (7.6) scored and struck the woodwork, while Clauss (7.5) created three chances and slung in 12 crosses. Yet no one matched Tessmann’s decisive two-way influence on this match’s pace and scoreboard.
Player of the Match
By Sofascore Rating, the top performer was Tanner Tessmann with 8.6. Fans agreed: he won the vote with 519 of 817 ballots. That means both the rating and the supporters picked the same player.
Olympique Lyonnais beat Nice 2-1 at Groupama Stadium in a lively Ligue 1 Round 7 meeting, decided by two first-half goals and plenty of second-half defending. Elye Wahi fired Nice ahead on 18 minutes, but Pavel Šulc and Tanner Tessmann flipped it by the 36th. Lyon then held firm after Keito Nakamura’s straight red card at 70 minutes. The numbers tell a balanced story overall, yet the decisive moments belonged to Lyon’s midfield and set pieces. You can dive into the full match data on Sofascore’s match page and track the season on the Ligue 1 hub.
Wahi’s early strike, then Lyon answer twice
Nice struck first with a classic wing-to-box pattern. Jonathan Clauss bent in a measured cross from the right, and Wahi arrived to steer it into the low corner for 0-1 on 18 minutes. Lyon didn’t stew for long. Šulc equalized at 32 minutes, reacting quickest after an initial effort was saved and finishing from close range with an xG of 0.92 on the move.
Four minutes later came the winner. From a set-piece phase, Zachary Athekame delivered a teasing cross and Tessmann attacked it, guiding a header past Yehvann Diouf for 2-1. The first half belonged to the hosts on the numbers: 60% possession, a 7-1 shot count and 1.37 to 0.42 in expected goals. Lyon also piled into the final third, logging 59 entries to Nice’s 12, with four fouls drawn in the attacking third. The visitors were pushed back and offered little beyond Wahi’s quality finish before the break.
Nice pile on the pressure after halftime
The second half flipped the flow as Nice controlled territory and tempo. They owned 66% possession after the break and out-shot Lyon 11-1, generating 1.08 xG in that period. Corners told the tale too: 8-0 for Nice in the second half, 9-1 across the match. Twice the frame rattled for the visitors, with Axel Witsel and Wahi both hitting the woodwork in their chase for a leveler.
Lyon dug in and defended the box with conviction. Rémy Descamps made three saves after halftime and finished with 0.41 goals prevented, while Moussa Niakhaté even produced a clearance off the line. The home side’s clearances ballooned to 30 in the second half and 36 overall. Nakamura’s red card on 70 minutes, just nine minutes after coming on, only deepened the backs-to-the-wall brief. Even then, Nice’s crossing volume (27 in the second half, 32 overall) returned only four accurate deliveries all game. Lyon suffered, stayed compact, and survived.
What the stats say about a narrow home win
On balance, Nice edged several volume metrics, but Lyon owned the big moments. Total shots finished 8-12 and shots on target 4-5 in Nice’s favor, while xG was nearly level at 1.46-1.50. Lyon did the clinical part better, converting two of their three big chances; Nice scored one of their two. Touches in the box were 21-27, again showing Nice’s pressure without the final payoff.
Passing volume was close, 471-500, with accurate passes at 399-435. But Lyon were far more incisive in entry play, posting 77 final-third entries to Nice’s 40. Crosses and long balls painted stylistic contrasts: Lyon went 3/12 on crosses and 17/48 on long balls (35%), while Nice hit 4/32 crosses and a strong 34/48 long balls (71%). In duels, Nice had the edge overall (53%) and completed more dribbles (9/16 to 5/15), yet Lyon won a higher share of tackles (73% to 68%).
Defensively, the hosts stacked up 36 clearances, 13 interceptions, and 48 recoveries, all slightly ahead of Nice’s 22, 10, and 45. Discipline also mattered: Nice collected four yellow cards and were caught offside three times; Lyon had no yellows and zero offsides but did take Nakamura’s red. Between the posts, Diouf’s minus goals-prevented figure (-0.64) contrasted with Descamps’ positive mark, underscoring the finishing and shot-stopping margins that often decide tight Ligue 1 matches.
MVP: Tanner Tessmann’s all-action display
Tessmann was the difference at both ends and earned a standout 8.6 Sofascore Rating. His headed winner was smartly timed and cleanly taken, coming off a set-piece delivery that Lyon exploited well all night. The American midfielder also led a committed defensive stand, posting six clearances, one interception and a won tackle when space was scarce. He handled the ball with control in tense moments, completing 41 of 47 passes and carrying the ball 17 times for meaningful territory.
He balanced duels and distribution, winning six ground and aerial battles combined, including four in the air. Tessmann also contributed on the front foot with two attempts, one on target, and an xG of 0.26 on his chances. With 62 touches and tidy progression, he often was the release valve and the organizer once Lyon went down to ten. It was the kind of midfield performance that knits a result together rather than just decorates it.
Supporting acts deserve a nod too. Athekame (7.8) delivered the assist and went three-for-three on tackles, adding six clearances and 83 touches at right-back. For Nice, Wahi (7.6) scored and struck the woodwork, while Clauss (7.5) created three chances and slung in 12 crosses. Yet no one matched Tessmann’s decisive two-way influence on this match’s pace and scoreboard.
Player of the Match
By Sofascore Rating, the top performer was Tanner Tessmann with 8.6. Fans agreed: he won the vote with 519 of 817 ballots. That means both the rating and the supporters picked the same player.