Ligue 1 · 2025Stadium de Toulouse

Toulouse 2–1 Olympique Lyonnais · Ligue 1

2–1Historical match

A completed match from a finished season. This page is the record of what happened.

Match at a glance

Toulouse won 2–1.

Shots
1418
Shots on target
63
Expected goals
1.131.54
Possession
39%61%

Full time

What the match recorded

Toulouse beat Lyon 2–1. Recorded in this match (Toulouse – Lyon): shots 14–18, shots on target 6–3, expected goals 1.13–1.54, possession 39%–61%. This is what was recorded. It is not a claim that the result was foreseeable.

Pre-match record

What the data showed before kick-off. Kept for reference; it did not know the result.

Lyon's recent record differs from the season

moderate

Lyon's last-five goals scored average is above their season average.

2.4 goals/match ▲Goals forLast 5 · Season1.61 goals/match
Evidence and caveat

Comparison: An unweighted last-five average is compared with the unweighted season average.

Window: last_5 versus season

MetricLast 5SeasonBaseline
Goals for2.4 goals/match1.61 goals/match1.44 goals/match

Caveat: Five matches are sensitive to opponent mix and isolated match states.

The teams have contrasting possession records

moderate

Lyon have recorded the higher season possession share.

42.2%PossessionToulouse · Lyon● 54.6%
Evidence and caveat

Comparison: The recorded possession gap is 12.4 percentage points.

Window: season

MetricToulouseLyonBaseline
Possession42.2%54.6%49.8%

Caveat: Possession share does not show where possession occurred or how chances were created.

This match

Match statistics

  • Shots14 shots18 shotsToulouse 14 shots, Olympique Lyonnais 18 shots
  • Shots on target6 shots3 shotsToulouse 6 shots, Olympique Lyonnais 3 shots
  • Expected goals1.13 xG1.54 xGToulouse 1.13 xG, Olympique Lyonnais 1.54 xG
  • Possession39%61%Toulouse 39%, Olympique Lyonnais 61%
  • Corners7 corners8 cornersToulouse 7 corners, Olympique Lyonnais 8 corners
  • Fouls20 fouls9 foulsToulouse 20 fouls, Olympique Lyonnais 9 fouls
  • Yellow cards6 cards2 cardsToulouse 6 cards, Olympique Lyonnais 2 cards

Every shot

Shot map

Every recorded shot, placed where it was taken and sized by its expected-goals value. Arrows show each team’s attacking direction.

Endrick · Lyon · 40′ · 0.01 xG · off target or blockedEndrick · Lyon · 55′ · 0.01 xG · off target or blockedYann Gboho · Toulouse · 72′ · 0.01 xG · off target or blockedYann Gboho · Toulouse · 21′ · 0.02 xG · off target or blockedAron Dønnum · Toulouse · 74′ · 0.02 xG · on targetMalick Fofana · Lyon · 90′ · 0.02 xG · off target or blockedEndrick · Lyon · 24′ · 0.04 xG · off target or blockedDayann Methalie · Toulouse · 52′ · 0.04 xG · off target or blockedWaren Kamanzi · Toulouse · 63′ · 0.04 xG · off target or blockedClinton Mata · Lyon · 90′ · 0.04 xG · off target or blockedPape Diop · Toulouse · 90′ · 0.04 xG · off target or blockedSantiago Hidalgo · Toulouse · 3′ · 0.05 xG · on targetRoman Yaremchuk · Lyon · 47′ · 0.05 xG · off target or blockedYann Gboho · Toulouse · 51′ · 0.05 xG · off target or blockedEndrick · Lyon · 90′ · 0.05 xG · off target or blockedAfonso Moreira · Lyon · 90′ · 0.05 xG · off target or blockedEndrick · Lyon · 45′ · 0.06 xG · off target or blockedTyler Morton · Lyon · 59′ · 0.06 xG · off target or blockedCharlie Cresswell · Toulouse · 63′ · 0.06 xG · on targetCorentin Tolisso · Lyon · 65′ · 0.06 xG · off target or blockedRoman Yaremchuk · Lyon · 75′ · 0.06 xG · off target or blockedSantiago Hidalgo · Toulouse · 62′ · 0.08 xG · off target or blockedDayann Methalie · Toulouse · 10′ · 0.10 xG · goalCharlie Cresswell · Toulouse · 49′ · 0.10 xG · off target or blockedErnest Nuamah · Lyon · 90′ · 0.10 xG · off target or blockedKhalis Merah · Lyon · 19′ · 0.16 xG · off target or blockedEndrick · Lyon · 90′ · 0.16 xG · off target or blockedEndrick · Lyon · 90′ · 0.16 xG · on targetEndrick · Lyon · 45′ · 0.19 xG · on targetCorentin Tolisso · Lyon · 71′ · 0.21 xG · goalWaren Kamanzi · Toulouse · 78′ · 0.22 xG · goalSantiago Hidalgo · Toulouse · 45′ · 0.29 xG · on target
  • off target
  • on target
  • goal
  • penalty
  • size = xG

Toulouse: 14 shots, 6 on target, 1.12 xG. Lyon: 18 shots, 3 on target, 1.49 xG.

How the match built

Expected-goals timeline

Expected goals accumulated minute by minute. Circles mark the goals that were actually scored.

00.751.50′HT90′Dayann Methalie · Toulouse · 10′Waren Kamanzi · Toulouse · 78′Corentin Tolisso · Lyon · 71′

The step line is cumulative expected goals; circles mark goals. Final: Toulouse 1.12 xG · Lyon 1.49 xG.

History

Head-to-head

Recent meetings between these teams.

Last 5 meetings

1Toulouse
1Draws
3Olympique Lyonnais
Olympique Lyonnais — Toulouse · Ligue 11–2
Olympique Lyonnais — Toulouse · Ligue 10–0
Toulouse — Olympique Lyonnais · Ligue 11–2
Toulouse — Olympique Lyonnais · Ligue 12–3
Olympique Lyonnais — Toulouse · Ligue 13–0

Head-to-Head & Recent Meetings

Metric comparison

Team comparison

Season averages, with the sample size beside each metric.

Where the edge is

Season: Toulouse favored in 1 of 11 directional metrics · Olympique Lyonnais in 6 · 4 too close

led this metric higher value (descriptive) too close

Window

Season

Toulouse33 matchesOlympique Lyonnais33 matches
1.42 goals/matchGoals scored33/33▲ 1.61 goals/match
1.39 goals/matchGoals allowed33/33▲ 1.09 goals/match
1.3 xG/matchExpected goals33/33▲ 1.5 xG/match
12.8 shots/match ▲Shots33/3312.1 shots/match
4.33 shots/matchShots on target33/33▲ 4.67 shots/match
42.2%Possession33/33● 54.6%
4.45 corners/matchCorners33/33● 5.45 corners/match
2.54 cards/matchCards28/282.18 cards/match
14.4 fouls/matchFouls33/3313.1 fouls/match

Evidence quality

How much supports this analysis

Grade A · Strong evidenceStrong evidence — limited
Season samples33 / 33home / away teams
Recent samples5 / 5last-five windows
FreshnessLess than one dayfrom nearest prior match
  • The fixture is outside the configured active season.
  • Recent samples and important metric coverage meet the strong evidence threshold.

Known unknowns

  • Lineups, injuries, suspensions and tactical changes are not available in the retained dataset.
  • The fixture season differs from the competition's configured active season.
Analysis cutoff: Sun, 10 May 2026, 23:00 UTC · analysis-v4

Team rankings in Ligue 1

Make a graphic from this match

Creator Studio builds a branded post from this match's recorded data, with its evidence grade and source cutoff carried into the export.

Turn this match into a graphicReady-made from PitchMath data · No sign-up required