Porto vs Moreirense Prediction, Preview and Stats

Portugal flag 2025/2026 Liga Portugal, Portugal
Estádio Do Dragão Sun, 15 Mar - 8:30 PM
Liga Portugal
Porto POR
3 Winner 0
Moreirense MOE
Full Time Sun, 15 Mar 8:30 PM
Gabri Veiga - 14'
Oskar Pietuszewski - 25'
William Gomes - 81'
Goal
|

CONTEXT

The match between Porto and Moreirense has officially finished with a full-time score of 3-0 in favor of Porto. Coming into the game, Porto were the heavy favorites with a 77.7% implied probability of victory, while the draw stood at 16% and a Moreirense upset at just 6.4%. The final result fully aligned with this pre-match market. By securing a dominant win, Porto's performance represented a significant deviation in their favor, confirming their status as the stronger team. Porto controlled the flow of the game, holding 58% possession compared to Moreirense's 42%. They established a comfortable lead early on, entering halftime with a 2-0 advantage before adding a third goal in the second half. The match was played cleanly without any red cards to disrupt the tactical balance or alter either team's game plan. While expected goals (xG) data was unavailable to directly measure if the outcome was strictly consistent with chance creation, Porto's attacking output was thoroughly decisive. The post-match efficiency shift remained in line with pre-match expectations, highlighting Porto's solid execution and comfortable control throughout the 90 minutes.

TL;DR

  • Structural deviation: Porto showed a significant deviation from the pre-match structural baseline.
  • Efficiency shift: Possession-adjusted chance creation was in line with projected levels.
  • xG alignment: The final outcome was insufficient data for expected goal differential.
  • Market alignment: End result was aligned with the pre-match projection.
  • xG expectations: Inconclusive for xG expectations (Classify).
  • Event impact: No major event distortion.
  • Red card distortion: None.
No standings statistics available.
No head-to-head records found.
0.5+ goals: 85%
1.5+ goals: 70%
2.5+ goals: 50%
3.5+ goals: 25%
Confidence: High (≥8 matches)

Quality vs Volume

Home: xG 1.8, Shots 12, xG/Shot 0.15
Away: xG 1.5, Shots 14, xG/Shot 0.11

Open Play vs Set Play

Open Play: 65%
Set Play: 35%

Expected Points

TeamxPts
Home1.8
Away1.2
ℹ️ Methodology: Expected Goals (xG) measures shot quality
L. Lopes da Costa
L. Lopes da Costa
1st Assistant 25 matches
Fouls / Match
Referee 0.52
League Avg 19.39
Yellow Cards / Match
Referee 0.12
League Avg 3.39
Red Cards / Match
Referee 0
League Avg 0.17
Penalties / Match
Referee 0
League Avg 0.22
C. Fernandes Macedo
C. Fernandes Macedo
Referee 25 matches
Fouls / Match
Referee 0.52
League Avg 19.39
Yellow Cards / Match
Referee 0.12
League Avg 3.39
Red Cards / Match
Referee 0
League Avg 0.17
Penalties / Match
Referee 0
League Avg 0.22
J. Paulo Silva Macedo
J. Paulo Silva Macedo
2nd Assistant 25 matches
Fouls / Match
Referee 0.52
League Avg 19.39
Yellow Cards / Match
Referee 0.12
League Avg 3.39
Red Cards / Match
Referee 0
League Avg 0.17
Penalties / Match
Referee 0
League Avg 0.22
V. Oliveira Lopes
V. Oliveira Lopes
4th Official 25 matches
Fouls / Match
Referee 0.52
League Avg 19.39
Yellow Cards / Match
Referee 0.12
League Avg 3.39
Red Cards / Match
Referee 0
League Avg 0.17
Penalties / Match
Referee 0
League Avg 0.22
Porto F. Farioli
F. Farioli
VS
Moreirense V. de Albuquerque Botelho da Costa
V. de Albuquerque Botelho da Costa
2.59
Avg Points / Game (Last 100 Matches)
1.15
2.17 i
Last 6 Opponents
Nacional Rank: 64 W
Sporting CP Rank: 90 D
Casa Pia Rank: 65 L
Gil Vicente Rank: 72 W
Vitória Guimarães Rank: 73 W
Santa Clara Rank: 64 W
Avg Points / Game (Last 6 Matches)
0.83 i
Last 6 Opponents
Nacional Rank: 63 D
Casa Pia Rank: 64 D
Sporting CP Rank: 90 L
Rio Ave Rank: 62 W
Gil Vicente Rank: 72 L
Vitória Guimarães Rank: 73 L
18
Head to Head (Wins - Draws - Losses)
18 - 4 - 1
1

Win Probabilities

Live Win Probability (90 Min)
Home Porto
77.65%
Draw
16%
Away Moreirense
6.35%

Team Power Ranking

i
What is Power Ranking?
Power ranking is SportMonks' model-based team strength indicator. Historical input capped to 2 seasons.
86.01
67.21
0 (Weakest) 100 (Strongest)
Metric
Porto
Moreirense
Power Score
86.01
67.21
League Position
1
8
Global Rank
26
239

Form Analysis Opponent-Weighted

Line chart of recent results (points/trend). Friendlies excluded by default. Hover for opponent, result, xG/xGA and power ranking — based on last 6 matches.

vs
Porto Opponent-weighted form score
Moreirense Opponent-weighted form score
Win (3 pts) Draw (1 pt) Loss (0 pts) Porto Moreirense

Heatmaps Ball coordinates

Attack and defence zones from ball position data. Filters: last 6 matches (overall/home/away), time period, competition.

vs

Porto

Left / Center / Right
Opposition half density
vs season average

Moreirense

Left / Center / Right
Opposition half density
vs season average

Possession Efficiency Possession-Adjusted

How effectively each team uses and defends their share of possession. Efficiency adjusted based on team possession percentage

Porto ⚠ Proxy
vs
⚠ Proxy Moreirense
Attacking Efficiency
Higher is better
Attacking Efficiency
33.45
10.36
Defensive Efficiency
Lower is better
Defensive Efficiency
10.36
33.45
Combined Efficiency Index Z-score combining attacking and defensive possession-adjusted efficiency.
Positive = above league average.
Negative = below league average.
Formula: EfficiencyIndex = z(AttackEff) − z(DefenceEff)
-3 0 3
Porto +2.35 Efficiency Index
vs
Moreirense -2.35 Efficiency Index
xG data unavailable for both teams. Values estimated using shots and dangerous attacks (proxy). Confidence: Medium.
Porto
Moreirense
AttackEff = xG ÷ pos
DefenceEff = xGA ÷ (1−pos)

Set Pieces Efficiency Attack & Defence

Set-piece reliance and strength using expected metrics and actual outcomes for each team.

Porto
vs
Moreirense
Created Set-piece attacking threat
Porto Moreirense
Set-piece xG Share Share of total expected goals generated from set pieces. Higher = more set-piece reliant in attack.
0%
0%
Goals per Match Average set-piece goals scored per match.
0.00 0.00
vs Expected (xG) Goals scored minus set-piece xG. Positive = overperforming; Negative = underperforming expectations.
+0.00 vs +0.00
Conceded Set-piece defensive exposure
Porto Moreirense
Set-piece xGA Share Share of total expected goals conceded from set pieces. Higher = more exposed to set pieces defensively.
Conceded per Match Average set-piece goals conceded per match.
0.00 0.00
vs Expected (xGA) Goals conceded minus set-piece xGA. Positive = conceding more than expected (bad); Negative = conceding less than expected (good).
vs
Porto
Moreirense
xG Share = set-piece xG ÷ total xG
vs Expected = goals − set-piece xG
Counter Attack / Transition data not available for this match.
Pressure Index data not available for this match.

Team Head to Head Last 6 Seasons

Summary of 9 matches between these sides — filtered by competition and venue context.

Porto POR Home
9 matches
Moreirense MOE Away
Match Record
8
Wins
0
1
Draws
1
0
Losses
8
Goals
25
Goals Scored
4
4
Goals Conceded
25
+21
Goal Difference
-21
Expected Goals
0
xG
0
0
xGA
0

Data last updated: 2026-03-16T13:49:08+00:00

STARTING XI

Match Formation 4-3-3
Match Formation 4-3-3
Pitch
D. Meireles Costa
Portugal
99 (C) D. Meireles Costa
M. Moreira Moutinho Fernandes
Portugal
52 M. Moreira Moutinho Fernandes
J. Bednarek
Poland
5 J. Bednarek
J. Kiwior
Poland
4 J. Kiwior
Z. Sanusi
Substitution
Nigeria
12 Z. Sanusi
V. Froholdt
Denmark
8 V. Froholdt
A. Varela
Argentina
22 A. Varela
G. Veiga Novas
Substitution
Spain
10 G. Veiga Novas
E. Aquino Cossa
Substitution
Brazil
11 E. Aquino Cossa
D. Gül
Substitution
Sweden
27 D. Gül
O. Pietuszewski
Substitution
Poland
77 O. Pietuszewski
A. Ribeiro Ferreira
Portugal
13 A. Ribeiro Ferreira
F. Teixeira Domingues
Portugal
27 F. Teixeira Domingues
J. de Brito Gonzaga
Brazil
26 (C) J. de Brito Gonzaga
G. Dambi Batista
Portugal
66 G. Dambi Batista
D. Martins Travassos
Portugal
2 D. Martins Travassos
A. Cunha Almeida
Substitution
25 A. Cunha Almeida
M. Stjepanovic
Serbia
8 M. Stjepanovic
R. Alonso Martín
Substitution
Spain
21 R. Alonso Martín
L. Costa Araujo
Substitution
Brazil
78 L. Costa Araujo
A. de Souza Guimarães
Brazil
11 A. de Souza Guimarães
F. Ribeiro Tomé Tavares Bondoso
Substitution
Portugal
10 F. Ribeiro Tomé Tavares Bondoso

General Information

Date & Time
Mar 15, 2026, 08:30 PM
Competition
2025/2026 Liga Portugal, Portugal
Stadium
Estádio Do Dragão
Capacity
50033
Pitch Surface
Grass
Weather
☀️ 12°C, Fair
Referees
Luís Carlos Lopes da Costa
Carlos André Fernandes Macedo
João Paulo Silva Macedo
Vitor Miguel Oliveira Lopes

Statistics

Possession
POR
57%
MOE
43%

Top Statistics

3 Goals 0
6 Big Chances Created 0
5 Shots 1
48 Dangerous attacks 27
58 Possession 42
4 Corners 1
15 Free kicks 14
1 Yellow Cards 1

Match Overview

14 Dribble Attempts 16
14 Throwins 13
10 Successful Headers 6
7 Successful Dribbles 9
50 Successful Dribbles Percentage 56
5 Goal Kicks 12
2 Assists 0
5 Substitutions 4
0 Hit Woodwork 1
71 Ball Safe 66
2 Injuries 2
14 Goal Attempts 4

Attacking

106 Attacks 61
5 Big Chances Missed 0
1 Counter Attacks 0

Possession

88 Successful Passes Percentage 84
54 Successful Long Passes Percentage 46
485 Successful Passes 344
554 Passes 410
14 Key Passes 3
28 Long Passes 57
15 Successful Long Passes 26

Defensive

7 Interceptions 16
18 Tackles 15
2 Saves 6

Build-up

11 Total Crosses 4
2 Accurate Crosses 1

Discipline

14 Fouls 13
2 Offsides 1

Lineup

Referee : Carlos André Fernandes Macedo

Starting XI

99
Diogo Costa
Diogo Costa (C) Goalkeeper
7
4
Jakub Kiwior
Jakub Kiwior Defender
7.25
5
Jan Bednarek
Jan Bednarek Defender
7.12
12
Zaidu Sanusi
Zaidu Sanusi Defender
6.57
13
Pablo Rosario
Pablo Rosario
Midfielder66'
6.68
52
Martim Fernandes
Martim Fernandes Defender
7.4
8
Victor Froholdt
Victor Froholdt Midfielder
8.15
10
Gabri Veiga
Gabri Veiga Midfielder
7.32
86
Rodrigo Mora
Rodrigo Mora
Midfielder66'
7.01
22
Alan Varela
Alan Varela Midfielder
7.43
11
Pepê
Pepê Attacker
6.96
7
William Gomes
William Gomes
Attacker72'
7.03
27
Deniz Gül
Deniz Gül Attacker
6.44
29
Terem Moffi
Terem Moffi
Attacker56'
6.31
77
Oskar Pietuszewski
Oskar Pietuszewski Attacker
7
17
Borja Sainz
Borja Sainz
Attacker56'
6.52
Referee : Carlos André Fernandes Macedo

Starting XI

13
André Ferreira
André Ferreira Goalkeeper
7.02
2
Travassos
Travassos Defender
6.24
26
Jóbson de Brito Gonzaga
Jóbson de Brito Gonzaga (C) Defender
5.93
27
Francisco Miguel Teixeira Domingues
Francisco Miguel Teixeira Domingues Defender
6.36
66
Gilberto Dambi Batista
Gilberto Dambi Batista Defender
6.62
8
Mateja Stjepanović
Mateja Stjepanović Midfielder
6.25
21
Rodrigo Alonso Martín
Rodrigo Alonso Martín Midfielder
6.75
6
Miguel Andrade Silva
Miguel Andrade Silva
Midfielder87'
6.5
25
Afonso Assis Cunha Almeida
Afonso Assis Cunha Almeida Midfielder
5.99
30
Jimi Gower
Jimi Gower
Midfielder66'
5.74
10
Francisco Miguel Ribeiro Tomé Tavares Bondoso
Francisco Miguel Ribeiro Tomé Tavares Bondoso Attacker
6.46
4
Kevyn Monteiro
Kevyn Monteiro
Defender87'
11
Alan de Souza Guimarães
Alan de Souza Guimarães Attacker
7.11
78
Landerson
Landerson Attacker
6.82
23
Nile John
Nile John
Midfielder73'
6.43

Events

2ND-HALF
90+5'
Event
3rd Yellowcard
90+4'
Event
Miguel Andrade Silva
Foul / 2nd Yellowcard
87'
Event
Kevyn Monteiro Francisco Miguel Ribeiro Tomé Tavares Bondoso
8th Substitution
87'
Event
Miguel Andrade Silva Rodrigo Alonso Martín
9th Substitution
Event
William Gomes
Left foot shot / 3rd Goal
81'
73'
Event
Nile John Landerson
7th Substitution
Event
William Gomes Pepê
6th Substitution
72'
Event
Pablo Rosario Zaidu Sanusi
5th Substitution
66'
Event
Rodrigo Mora Gabri Veiga
4th Substitution
66'
66'
Event
Jimi Gower Afonso Assis Cunha Almeida
3rd Substitution
Event
Zaidu Sanusi
Foul / 1st Yellowcard
58'
Event
Terem Moffi Deniz Gül
1st Substitution
56'
Event
Borja Sainz Oskar Pietuszewski
2nd Substitution
56'
1ST-HALF
Event
Oskar Pietuszewski
Right foot shot / 2nd Goal
25'
Event
Gabri Veiga
Left foot shot / 1st Goal
14'

Match Commentary

90
Update Update
The fourth official has indicated that there will be 4 minutes of stoppage time.
90
Yellow Card Yellow Card Important
Miguel Silva of Moreirense has been shown a yellow card for committing a foul.
90
Update Update
Victor Froholdt of FC Porto has been awarded a free kick in an attacking position.
90
Update Update
The second half has concluded with FC Porto defeating Moreirense by a score of 3-0.
90
Update Update
Fouled by Miguel Silva from Moreirense.
90
Update Update
Match halted due to an injury to Martim Fernandes from FC Porto.
90
Update Update
Diogo Travassos from Moreirense committed a foul.
90
Attempt Attempt
The attempt is denied. Martim Fernandes from FC Porto fires a right-footed shot from outside the penalty area, but it's intercepted. The assist came from Alan Varela.
90
Update Update
Alan Varela from FC Porto has been awarded a free kick in the defensive area.
90
Update Update
The pause has ended. They are set to resume play.
89
Update Update
Offside call against FC Porto. Borja Sainz is caught in an offside position.
88
Update Update
Offside call against FC Porto. Borja Sainz is caught in an offside position.
88
Update Update
Rodrigo Mora from FC Porto earned a free kick in the defensive area.
87
Update Update
Rodrigo Mora from FC Porto has been awarded a free kick in the defensive area.
87
Update Update
Nile John committed a foul on a Moreirense player.
86
Substitution Substitution
Substitution for Moreirense: Miguel Silva comes on to replace Rodri Alonso.
86
Substitution Substitution
Substitution for Moreirense: Kevyn Monteiro comes on to replace Kiko Bondoso.
85
Update Update
William Gomes of FC Porto has been awarded a free kick in the defensive area.
85
Update Update
Kiko from Moreirense committed a foul.
84
Attempt Attempt
A fresh offensive effort is underway. Rodrigo Mora from FC Porto takes a right-footed shot from outside the penalty area, but it's successfully stopped.
81
GOAL! GOAL! Important
Goal! FC Porto leads 3-0 against Moreirense. William Gomes scores with a left-footed shot from the right side of the penalty area.
79
Corner Corner
Corner awarded to FC Porto after a play that resulted in a deflection off Jimi Gower.
77
Update Update
Kiko Bondoso from Moreirense committed a foul.
77
Update Update
Martim Fernandes from FC Porto earned a free kick on the left side of the pitch.
76
Update Update
William Gomes of FC Porto committed a foul.
76
Update Update
Kiko from Moreirense has been awarded a free kick in the defensive area.
75
Update Update
Foul committed by Jakub Kiwior from FC Porto.
75
Update Update
Kiko Bondoso from Moreirense has been awarded a free kick in the defensive area.
75
Update Update
Nile John from Moreirense has been awarded a free kick in the defensive area.
75
Update Update
Borja Sainz from FC Porto committed a foul.
73
Attempt Attempt
The attempt is thwarted. Terem Moffi of FC Porto takes a left-footed shot from the middle of the penalty area, but it's blocked. The assist came from Borja Sainz.
73
Update Update
Rodri Alonso from Moreirense has been awarded a free kick in the defensive area.
73
Update Update
William Gomes from FC Porto committed a foul.
73
Update Update
The pause has ended. They are set to resume play.
73
Substitution Substitution
Substitution for Moreirense: Nile John replaces Landerson due to an injury.
72
Substitution Substitution
Substitution for FC Porto: William Gomes comes on to replace Pepê.
71
Update Update
Match has been paused due to an injury to Landerson from Moreirense.
69
Attempt Attempt
A fresh offensive push from FC Porto as Terem Moffi takes a left-footed shot from the middle of the penalty area, but it's successfully stopped by the goalkeeper.
68
Corner Corner
Corner awarded to Moreirense after Jan Bednarek's defensive play.
67
Update Update
Jan Bednarek of FC Porto has been awarded a free kick in the defensive area.
67
Update Update
Alan from Moreirense committed a foul.
66
Substitution Substitution
Substitution for Moreirense: Jimi Gower replaces Afonso Assis.
66
Substitution Substitution
Substitution for FC Porto: Rodrigo Mora comes on to replace Gabri Veiga.
66
Substitution Substitution
Substitution for FC Porto: Pablo Rosario replaces Zaidu Sanusi.
64
Attempt Attempt
Another offensive effort underway. Alan from Moreirense takes a left-footed shot from outside the penalty area, but it's successfully stopped.
63
Attempt Attempt
Opportunity wasted. Gabri Veiga from FC Porto took a right-footed shot from outside the penalty area, but it sailed over the crossbar.
62
Attempt Attempt
A fresh offensive move unfolds as Victor Froholdt from FC Porto takes a right-footed shot from outside the penalty area. The attempt is expertly denied by André Ferreira of Moreirense, who makes a save at the top center of the goal. The assist came from Zaidu Sanusi.
61
Update Update
Offside call against FC Porto. Borja Sainz is caught in an offside position.
58
Update Update
Zaidu Sanusi from FC Porto committed a foul.
58
Update Update
Diogo Travassos from Moreirense committed a foul.
58
Update Update
Zaidu Sanusi from FC Porto earned a free kick on the left side of the field.
58
Yellow Card Yellow Card Important
Zaidu Sanusi of FC Porto has been shown a yellow card for committing a foul.
58
Update Update
Diogo Travassos from Moreirense has been awarded a free kick in the defensive area.
56
Substitution Substitution
Substitution for FC Porto: Borja Sainz comes on to replace Oskar Pietuszewski due to an injury.
56
Substitution Substitution
Substitution for FC Porto: Terem Moffi replaces Deniz Gül.
55
Update Update
The pause has ended. They are set to resume play.
55
Update Update
Match interruption due to an injury to Oskar Pietuszewski from FC Porto.
53
Corner Corner
Another offensive move underway. Alan from Moreirense takes a right-footed shot from outside the penalty area, but Diogo Costa from FC Porto makes a save in the bottom right corner. The assist came from Afonso Assis.
53
Attempt Attempt
Landerson from Moreirense strikes the left post with a right-footed shot taken from the left side of the penalty area. The assist came from Alan.
52
Update Update
Kiko from Moreirense committed a foul.
52
Update Update
Pepê from FC Porto was awarded a free kick in the defensive area.
49
Update Update
Zaidu Sanusi from FC Porto earned a free kick on the left side of the pitch.
49
Update Update
Jakub Kiwior from FC Porto was awarded a free kick on the left side of the field.
49
Update Update
Fouled by Diogo Travassos of Moreirense.
49
Update Update
Diogo Travassos from Moreirense committed a foul.
48
Update Update
Gabri Veiga from FC Porto committed a foul.
48
Update Update
Landerson of Moreirense has been awarded a free kick in the defensive area.
45
Update Update
The fourth official has indicated that there will be no additional time added.
45
Update Update
The first half has concluded with FC Porto leading Moreirense by a score of 2-0.
45
Update Update
The second half is underway with FC Porto leading Moreirense 2-0.
44
Update Update
Fouled by Jakub Kiwior from FC Porto.
44
Update Update
André Ferreira from Moreirense has been awarded a free kick in the defensive area.
43
Update Update
Deniz Gül from FC Porto committed a foul.
43
Update Update
Landerson from Moreirense has been awarded a free kick in the defensive area.
42
Attempt Attempt
Missed opportunity. Gabri Veiga of FC Porto took a right-footed shot from outside the penalty area that went just wide to the left.
42
Attempt Attempt
A fresh offensive move unfolds. Deniz Gül from FC Porto takes a right-footed shot from the middle of the penalty area, but André Ferreira, the goalkeeper for Moreirense, makes a crucial save right in the center of the goal. The assist came from Pepê.
41
Update Update
Offside call against Moreirense. Diogo Travassos has been flagged for being offside.
40
Update Update
Gabri Veiga from FC Porto committed a foul.
40
Update Update
Alan - Moreirense has been awarded a free kick in their defensive area.
36
Update Update
Oskar Pietuszewski from FC Porto has been awarded a free kick in the defensive area.
36
Update Update
Diogo Travassos from Moreirense committed a foul.
35
Update Update
Diogo Travassos from Moreirense commits a handball foul.
34
Attempt Attempt
Missed opportunity! Oskar Pietuszewski from FC Porto attempted a left-footed shot from the center of the penalty area, but it sailed over the crossbar. The assist came from Alan Varela.
30
Attempt Attempt
Opportunity wasted. Oskar Pietuszewski from FC Porto attempted a right-footed shot from the center of the penalty area, but it sailed over the crossbar.
25
GOAL! GOAL! Important
Goal! FC Porto leads 2-0 against Moreirense. Oskar Pietuszewski scored with a right-footed shot from the center of the box into the bottom right corner. The assist came from Victor Froholdt, who delivered a cross after a quick counter-attack.
23
Update Update
Martim Fernandes from FC Porto committed a foul.
23
Update Update
Kiko from Moreirense was awarded a free kick on the left side of the field.
22
Update Update
Alan Varela from FC Porto committed a foul.
22
Update Update
Landerson from Moreirense has been awarded a free kick in the defensive area.
22
Update Update
André Ferreira from Moreirense has been awarded a free kick in the defensive area.
22
Update Update
Martim Fernandes from FC Porto committed a foul.
21
Corner Corner
Corner awarded to FC Porto after a foul by Diogo Travassos.
19
Corner Corner
Corner awarded to FC Porto after Landerson's deflection.
18
Corner Corner
Corner awarded to FC Porto after Landerson allowed the ball to go out.
17
Corner Corner
Corner awarded to FC Porto after Kiko allowed the ball to go out of play.
17
Update Update
Landerson from Moreirense has been awarded a free kick in the defensive area.
17
Update Update
Martim Fernandes from FC Porto committed a foul.
16
Update Update
Kiko from Moreirense committed a foul.
16
Update Update
Pepê from FC Porto earned a free kick on the right side of the field.
15
Update Update
Diogo Travassos from Moreirense committed a foul.
15
Update Update
Jakub Kiwior from FC Porto has been awarded a free kick in the defensive area.
14
Attempt Attempt
A fresh offensive effort unfolds as Oskar Pietuszewski of FC Porto takes a right-footed shot from the middle of the penalty area. However, André Ferreira, the goalkeeper for Moreirense, makes a crucial save right in front of the goal. The assist for this play comes from Deniz Gül.
14
GOAL! GOAL! Important
Goal! FC Porto takes the lead with a score of 1-0 against Moreirense. Gabri Veiga scores for FC Porto, firing a left-footed shot from the center of the box into the bottom left corner.
12
Update Update
Kiko Bondoso from Moreirense has been awarded a free kick in the defensive area.
12
Update Update
Foul committed by Jakub Kiwior of FC Porto.
10
Attempt Attempt
The attempt is thwarted. Alan Varela of FC Porto fires a right-footed shot from outside the penalty area, but it's blocked. The assist came from Oskar Pietuszewski.
8
Update Update
Alan from Moreirense committed a foul.
8
Update Update
Victor Froholdt of FC Porto was awarded a free kick in the defensive zone.
6
Attempt Attempt
Missed opportunity. Pepê from FC Porto attempts a left-footed shot from outside the penalty area, but it sails high and to the left. The assist came from Martim Fernandes.

CONCLUSION

Structural assessment: Porto exhibited a significant deviation from the pre-match structural baseline. Efficiency outcome: Possession-adjusted chance creation finished in line with projected levels. Result alignment: The final score was consistent with the pre-match probability model. Market alignment: The match result was within the projected probability range.