Primeira Liga

· Portugal

Strength. Context. What's next.

ChampionsFC Porto88 pts
Goals per match2.68
Matches played306 / 306

2025-2026 Go to 2026-2027

Fixtures & Results

Final results of every matchweek.

All fixtures →
MatchDateHomeScoreAway1X2xG (forecast)TOTAL xGBTTSOver 2.5
Alverca Arouca Fri, Apr 2420:15 Alverca 2–1xG 1.06 – 0.872xG 1.061xG 0.87 Arouca 38%|29%|33% 1.27|1.17 2.44 50% 44%
Tondela Nacional Sat, Apr 2515:30 Tondela 0–2xG 1.82 – 0.830xG 1.822xG 0.83 Nacional 33%|30%|37% 1.10|1.18 2.28 47% 40%
Benfica Moreirense Sat, Apr 2518:00 Benfica 4–1xG 1.39 – 0.874xG 1.391xG 0.87 Moreirense 79%|14%|6% 2.56|0.60 3.16 42% 61%
Guimaraes Rio Ave Sat, Apr 2520:30 Guimaraes 2–0xG 1.10 – 0.592xG 1.100xG 0.59 Rio Ave 53%|25%|22% 1.76|1.05 2.81 54% 53%
Estoril Famalicao Sun, Apr 2615:30 Estoril 0–1xG 0.66 – 1.030xG 0.661xG 1.03 Famalicao 26%|28%|46% 1.04|1.46 2.50 50% 46%
Santa Clara SC Braga Sun, Apr 2618:00 Santa Clara 2–1xG 2.55 – 0.152xG 2.551xG 0.15 SC Braga 22%|29%|49% 0.86|1.40 2.26 44% 39%
Estrela FC Porto Sun, Apr 2618:00 Estrela 1–2xG 1.49 – 1.901xG 1.492xG 1.90 FC Porto 14%|22%|64% 0.78|1.91 2.69 47% 50%
AVS Sporting CP Sun, Apr 2620:30 AVS 1–1xG 1.25 – 2.231xG 1.251xG 2.23 Sporting CP 7%|16%|77% 0.60|2.40 3.00 42% 58%
GIL Vicente Casa Pia Mon, Apr 2720:15 GIL Vicente 2–1xG 1.71 – 1.252xG 1.711xG 1.25 Casa Pia 56%|26%|18% 1.64|0.83 2.47 46% 45%
Forecast fit Good / Close Fair Low / Poor Not evaluated

xG (forecast) shows LOAD90 expected goals as home | away. TOTAL xG is their sum: the expected total goals in the match. 1X2 shows home win (1) | draw (X) | away win (2) probabilities; bold marks the most likely outcome before the match and the actual outcome after it. BTTS and Over 2.5 are LOAD90 probabilities. xG below a final score is the actual match xG, home – away. Missing data is shown as —.

Forecast evaluation · how to read the colours

1X2 fit in the 1X2 column evaluates the saved home / draw / away probabilities against the actual outcome using Brier score: Σ(probability − actual outcome)², with 1 for the actual outcome and 0 for the other two. It does not grade the total goals or demand an exact score: 1–0 and 5–1 receive the same 1X2 fit for the same forecast. xG margin fit on forecast xG compares who was expected to dominate, and by how much, with the actual match xG: |(λ home − λ away) − (xG home − xG away)|, where a margin is home minus away. It is direction-aware: a favourite that really dominated is not marked down just for creating more or less than forecast in total, while the wrong direction gives a large gap. It does not depend on the final score or on total xG (see TOTAL xG fit). A low 1X2 fit and close xG margin fit can occur together; finishing variation may be one explanation.

TOTAL xG fit compares the displayed forecast total with the final goal count: |TOTAL xG − (home goals + away goals)|. This describes distance from the expected mean, not the probability of the exact score. The expected total is not a guaranteed result; a large difference in one match does not establish a model error. Separate frozen reference forecast_total_fit_v1: 250 retrospective forecasts from the same dates. Close: difference ≤ 0.65 goals; Poor: difference ≥ 2.00 goals; Fair: between them. This fit does not require actual match xG.

BTTS and Over 2.5 colours evaluate their own Yes/No outcomes using binary Brier score. Green/teal → amber → red means closer → less close. Good / Close is the lowest-error quarter of the reference; Low / Poor is the highest-error quarter. Fair is between them. Hover over a coloured metric for its values. Without a valid pre-match snapshot or both actual xG values, the corresponding indicator stays neutral.

xG margin fit uses its own frozen reference forecast_xg_margin_fit_v1: 137 retrospective LOAD90 forecasts with actual match xG, 15 Aug–20 Sep 2026. Close: gap ≤ 0.38; Poor: gap ≥ 1.41; Fair: between them. It supersedes the older per-team xG scale of forecast_fit_v1 for the xG (forecast) column.

Fixed reference forecast_fit_v1: 250 retrospective LOAD90 forecasts, 15 Aug–20 Sep 2026; actual xG available for 137 matches. This is a retrospective colour scale, not evidence of live forecast accuracy. One match cannot establish whether a probability model is well calibrated.

League standings

Final standings and form at the end of the season.

Full standings →

Swipe to explore the league table →

#ClubPWDLGDPtsForm
1– FC PortoChampions 34 2842 +48 88
2– Sporting CP 34 2572 +65 82
3– Benfica 34 23110 +49 80
4– SC Braga 34 16117 +28 59
5– Famalicao 34 15118 +13 56
6– GIL Vicente 34 131110 +9 50
7▲ Moreirense 34 12715 -12 43
8▼ Guimaraes 34 12616 -12 42
9▲ Arouca 34 12616 -17 42
10▼ Estoril 34 10915 -3 39
11▼ Alverca 34 10915 -17 39
12– Santa Clara 34 9916 -9 36
13– Rio Ave 34 81214 -22 36
14– Nacional 34 9718 -8 34
15– Estrela 34 61216 -18 30
16– Casa Pia 34 61216 -26 30
17– Tondela 34 61018 -28 28
18– AVS 34 31219 -40 21
Ordered by current league position▲ Up · ▼ Down · – Unchanged · Since the start of the latest played matchweek
- Champions League (Group Stage)- Champions League (3rd Qualif. round)- Europa League (2nd Qualif. round)- Europa Conference League (2nd Qualif. round)- Relegation play-offs- Relegation to Liga Portugal 2

League position comparison

Actual standings by matchweek · Primeira Liga

All 18 clubs · MW 34

ClubPosition · MW 34

First place is at the top. All clubs share the same matchweek cutoffs; partial rounds are marked. Postponed results enter later snapshots.

View position data for all clubs
League positions by matchweek
MWFC PortoSporting CPBenficaSC BragaFamalicaoGIL VicenteMoreirenseGuimaraesAroucaEstorilAlvercaSanta ClaraRio AveNacionalEstrelaCasa PiaTondelaAVS
1 · Partial16—325716481217—159141813
2316248591012161711141371815
3 · Partial216457398131517111612101814
4134627511815161012913141817
5124756381210131115141691817
6123764581012159141613111718
7123765491015128161311141718
8123864571116913121015141718
9123754611131512981016141718
10123754611151214810913161718
11123754681691413111012151718
12123654781710912111314151618
13123564781712911101413151618
14123465871513912101114161718
15123564781691113101214151718
16 · Partial123564871691214111310151718
17123584671691114101312151718
18123574681591014111312161718
19123475691581014121113161718
20123485691471016131112151718
21123465891271016141311151718
22123574681291016151411131718
23123465891171016151412131718
24123465791181016151412131718
25123465791181016141512131718
26 · Partial123465891271013111614151718
27123456891271113101614151718
28123456981171013121514161718
29123456981271013111514161718
30132456871191013121415161718
31132456871110913121415161718
32123456871191013121415161718
33123456871191012131415161718
34123456789101112131415161718