xgEdge

Sunday, 20/09/2026 at 21:30

Full time
Match report · Liga Portugal

FC Porto 3:1 Benfica

FC Porto Home 1.30 xG · 20 shots
Benfica Away 0.84 xG · 12 shots
31 The scoreline reflected the chances

Benfica were the model's likeliest winner before kick-off at 38%. FC Porto won 3–1. The biggest difference was Benfica's attack: 0.84 xG against 1.36 projected (−0.52).

Goals

  1. 31' Gabri Veiga FC Porto · 0.16 xG chance 1–0
  2. 51' Alexander Bah Benfica · 0.35 xG chance 1–1
  3. 54' Victor Froholdt FC Porto · 0.09 xG chance 2–1
  4. 60' Hwang In-beom FC Porto · 0.09 xG chance 3–1

The model against the result

priced before kick-off
FC Porto
31% What happened
Draw
31%
Benfica
38%

Data coverage Both teams have the full 20-match model window available.

Projected vs produced

Expected goals
FC Porto The model projected 1.21 Produced 1.30 Difference +0.09
Benfica The model projected 1.36 Produced 0.84 Difference -0.52

Benfica produced 0.52 xG less than projected

Projected before kick-off Produced on the night

The shots behind it

FC Porto Benfica
Shots
20
12
On target
7
2
Inside the box
12
8
xG per shot
0.06
0.07
Open play xG
1.17
0.73
Set-piece xG
0.13
0.10
Penalties
—
—
Shot-level xG may differ from the published match total

The provider publishes the match total separately from its shot-by-shot values. Those values are rounded to two decimals and, leaving out penalties and own goals, add up to its non-penalty xG: 0.84 for Benfica.

Shot map

Both teams shown attacking the same goal for comparison.

Benfica · Alexander Bah · 51' · Goal · 5 m · 0.35 xG FC Porto · Gabri Veiga · 31' · Goal · 7 m · 0.16 xG FC Porto · Gabri Veiga · 28' · No goal · 9 m · 0.12 xG FC Porto · William Gomes · 41' · No goal · 10 m · 0.12 xG Benfica · Gianluca Prestianni · 13' · No goal · 4 m · 0.11 xG FC Porto · André Silva · 64' · No goal · 4 m · 0.11 xG FC Porto · Gabri Veiga · 31' · No goal · 14 m · 0.09 xG FC Porto · Victor Froholdt · 54' · Goal · 13 m · 0.09 xG FC Porto · Hwang In-beom · 60' · Goal · 8 m · 0.09 xG FC Porto · André Silva · 64' · No goal · 12 m · 0.08 xG FC Porto · Jan Bednarek · 78' · No goal · 6 m · 0.08 xG Benfica · Alexander Bah · 18' · No goal · 19 m · 0.07 xG FC Porto · Pablo Rosario · 49' · No goal · 19 m · 0.07 xG Benfica · Vangelis Pavlidis · 42' · No goal · 14 m · 0.06 xG Benfica · Vangelis Pavlidis · 83' · No goal · 21 m · 0.06 xG FC Porto · Gabri Veiga · 26' · No goal · 24 m · 0.05 xG Benfica · Georgiy Sudakov · 11' · No goal · 13 m · 0.04 xG FC Porto · Victor Froholdt · 77' · No goal · 11 m · 0.04 xG Benfica · Tomás Araújo · 90' · No goal · 7 m · 0.04 xG Benfica · Clément Lenglet · 12' · No goal · 4 m · 0.03 xG FC Porto · André Silva · 28' · No goal · 8 m · 0.03 xG FC Porto · Alberto Costa · 34' · No goal · 24 m · 0.03 xG FC Porto · André Silva · 39' · No goal · 26 m · 0.03 xG FC Porto · André Silva · 48' · No goal · 21 m · 0.03 xG FC Porto · Pablo Rosario · 70' · No goal · 26 m · 0.03 xG FC Porto · Pepê · 16' · No goal · 22 m · 0.02 xG Benfica · Rafa Silva · 19' · No goal · 25 m · 0.02 xG Benfica · Gianluca Prestianni · 29' · No goal · 15 m · 0.02 xG Benfica · Rafa Silva · 61' · No goal · 10 m · 0.02 xG FC Porto · Pepê · 71' · No goal · 15 m · 0.02 xG FC Porto · Martim Fernandes · 22' · No goal · 28 m · 0.01 xG Benfica · Rafa Silva · 45' · No goal · 17 m · 0.01 xG

All shots

32 shots · 2.13 xG

Hover, focus or tap a shot to read it.

  • FC Porto
  • Benfica
  • Filled = goal
  • Dot area = xG (the smallest chances drawn at a minimum size)

Recent form

Last 6 · xG per match
FC Porto

2.42 xG created 1.00 xGA

  • W 2.59 created, 1.66 conceded against FC Alverca
  • W 1.97 created, 0.58 conceded against Rio Ave
  • W 3.00 created, 0.54 conceded against FC Arouca
  • W 1.47 created, 0.80 conceded against Académico Viseu FC
  • W 2.90 created, 0.85 conceded against Moreirense
  • W 2.60 created, 1.59 conceded against Casa Pia
Benfica

2.56 xG created 0.55 xGA

  • D 3.11 created, 1.18 conceded against Académico Viseu FC
  • W 3.04 created, 0.12 conceded against Casa Pia
  • W 2.03 created, 0.36 conceded against Estoril Praia
  • W 1.31 created, 0.12 conceded against Marítimo
  • W 2.99 created, 0.39 conceded against Moreirense
  • W 2.90 created, 1.11 conceded against Gil Vicente

xG created xG conceded (xGA) W / D / L: the match result

Head to head

FC Porto: 0 won · 2 drawn · 0 lost

Pre-match model & market record

3 opportunities flagged0 won3 lost

  • Lost
  • Lost
  • Lost
View pre-match record
The outcomes the model flagged on FC Porto against Benfica before kick-off, in the order they ranked, with the price, the edge and what became of each.
Selection Price Edge Result
Draw 3.30 +2.7% Lost
Under 2.5 goals 1.95 +0.3% Lost
FC Porto at most 1 goal 1.53 +0.3% Lost

Pre-match model vs market

Outcome Model Market Difference Fair odds
FC Porto 30.6% 34.8% −4.2 pp 3.27
Draw 31.1% 28.4% +2.7 pp 3.21
Benfica 38.3% 36.8% +1.5 pp 2.61

Other markets

Outcome Model Market Difference Fair odds
FC Porto to score 73.0% 73.1% −0.1 pp 1.37
FC Porto not to score 27.0% 26.9% +0.1 pp 3.70
Benfica to score 77.2% 75.0% +2.2 pp 1.30
Benfica not to score 22.8% 25.0% −2.2 pp 4.38
Both teams to score 58.2% 55.7% +2.4 pp 1.72
Both teams not to score 41.8% 44.3% −2.4 pp 2.39
FC Porto 2+ goals 34.6% 39.2% −4.6 pp 2.89
FC Porto at most 1 goal 65.4% 60.8% +4.6 pp 1.53
Benfica 2+ goals 40.5% 41.1% −0.6 pp 2.47
Benfica at most 1 goal 59.5% 58.9% +0.6 pp 1.68
Over 1.5 goals 77.0% 75.0% +2.0 pp 1.30
Under 1.5 goals 23.0% 25.0% −2.0 pp 4.35
Over 2.5 goals 48.6% 51.3% −2.7 pp 2.06
Under 2.5 goals 51.4% 48.7% +2.7 pp 1.94

Prices and probabilities are the ones stored before kick-off; nothing here is recalculated. Edge is the model's probability times the price, minus one, so a flagged outcome that lost is the ordinary case rather than a contradiction.

Model details

Show
Fit window
the last 20 matches, recency weighted (a match 107 days old counts half)
FC Porto sample
20 matches
Benfica sample
20 matches
Computed
1 day before kick-off
Prices taken
1 day before kick-off

Limitations

The model reads expected goals and nothing else. It does not know the lineups, who is injured or suspended, what either side has to play for, the weather, or how congested the schedule around this match is.