Porto vs Rangers

29 January 2026 · Europa League · Matchday 8 · 2025/26 · Referee Jasper Vergoote

Full time 3 – 1

Half-time: 3–1

  • R. Mora 27’
  • F. Moura 36’
  • E. Fernandez 41’ (og)
  • D. Gassama 6’

Match summary

Porto came from behind to win 3-1 at home to Rangers. Porto led 3-1 at half-time.

In the first half, D. Gassama put Rangers ahead with a header in the 6th minute, R. Mora equalised in the 27th minute, F. Moura put Porto in front in the 36th minute, and Fernandez's own goal made it 3-1 with a header in the 41st minute.

The chances backed that up: Porto created 1.60 expected goals (xG) from 12 shots to Rangers's 0.42 from 5.

Match stats

41% Possession 59%
12 Shots 5
3 Shots on target 2
4 Corners 3
339 Passes 489
85.8% Pass accuracy 86.9%
16 Tackles 23
17 Fouls 13
0 Yellow cards 1
3 Offsides 2

Key events

Porto Rangers
6’
D. GassamaHeader0-1 (Rangers)
R. MoraRight foot shot1-1 (Porto)
27’
F. MouraLeft foot shot2-1 (Porto)
36’
E. FernandezOwn goal3-1 (Porto)
41’
50’
61’
63’
N. RaskinShot on target
68’
70’
M. MooreF. Curtis
G. VeigaR. Mora
81’
PepêShot on target
84’

How the chances added up

Running total of expected goals (xG) for each side through the match. xG rates each chance by how often similar shots are scored. A goal is marked where it was scored.

0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.60 0.42 6’ D. Gassama (Rangers), 0-1 6’ 27’ R. Mora (Porto), 1-1 27’ 36’ F. Moura (Porto), 2-1 36’ 41’ E. Fernandez (Porto) own goal, 3-1 41’ 0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.60 0.42 6’ D. Gassama (Rangers), 0-1 Gassama 6’ 27’ R. Mora (Porto), 1-1 Mora 27’ 36’ F. Moura (Porto), 2-1 Moura 36’ 41’ E. Fernandez (Porto) own goal, 3-1 Fernandez 41’
Porto 1.60 xGRangers 0.42 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Rangers attacking Porto attacking 
36’ F. Moura (Porto), open play, 0.97 xG, goal 6’ D. Gassama (Rangers), open play, 0.37 xG, goal 27’ R. Mora (Porto), open play, 0.14 xG, goal 29’ S. Aghehowa (Porto), open play, 0.15 xG, off target 84’ Pepê (Porto), open play, 0.13 xG, saved 88’ B. Sainz (Porto), from a corner, 0.05 xG, off target 78’ Pepê (Porto), set piece, 0.04 xG, off target 34’ R. Mora (Porto), open play, 0.03 xG, blocked 54’ J. Kiwior (Porto), direct free kick, 0.02 xG, off target 90+3’ D. Gül (Porto), open play, 0.02 xG, off target 46’ F. Curtis (Rangers), open play, 0.02 xG, blocked 18’ R. Mora (Porto), open play, 0.02 xG, blocked 64’ J. Tavernier (Rangers), from a corner, 0.02 xG, blocked 17’ J. Kiwior (Porto), open play, 0.01 xG, off target 63’ N. Raskin (Rangers), open play, 0.01 xG, saved 15’ S. Aghehowa (Porto), open play, 0.01 xG, off target 90+1’ J. Souttar (Rangers), set piece, 0.01 xG, off target 41’ E. Fernandez (Rangers), own goal 36’ F. Moura (Porto), open play, 0.97 xG, goal 6’ D. Gassama (Rangers), open play, 0.37 xG, goal 29’ S. Aghehowa (Porto), open play, 0.15 xG, off target 27’ R. Mora (Porto), open play, 0.14 xG, goal 84’ Pepê (Porto), open play, 0.13 xG, saved 88’ B. Sainz (Porto), from a corner, 0.05 xG, off target 78’ Pepê (Porto), set piece, 0.04 xG, off target 34’ R. Mora (Porto), open play, 0.03 xG, blocked 54’ J. Kiwior (Porto), direct free kick, 0.02 xG, off target 90+3’ D. Gül (Porto), open play, 0.02 xG, off target 46’ F. Curtis (Rangers), open play, 0.02 xG, blocked 18’ R. Mora (Porto), open play, 0.02 xG, blocked 64’ J. Tavernier (Rangers), from a corner, 0.02 xG, blocked 17’ J. Kiwior (Porto), open play, 0.01 xG, off target 15’ S. Aghehowa (Porto), open play, 0.01 xG, off target 63’ N. Raskin (Rangers), open play, 0.01 xG, saved 90+1’ J. Souttar (Rangers), set piece, 0.01 xG, off target 41’ E. Fernandez (Rangers), own goal
Size shows xG Goal On target Off target or blocked

Hover or tap a shot for the player, minute and xG.

Lineups

Porto 4-3-3 Starting XI
Costa
Costa 61’
Bednarek
Kiwior
Moura
Froholdt 68’
Varela
Mora
Gomes 61’
Aghehowa 68’
Pepê
Rangers 3-4-2-1 Starting XI
Butland
Tavernier
Fernandez 58’
Djiga
Aarons
Raskin
Diomande
Meghoma 46’
Curtis 70’
Gassama
Chermiti 70’

Player stats

Goalkeeper1 player
90′ 1 1 22 – – – – –
Defenders5 players
61′ 2 – – 3 – 23 2 – – –
90′ 1 – – 7 6 33 2 – – –
90′ 1 1 – 7 4 60 – – – –
90′ 1 1 – 1 – 32 2 1 – –
M. Fernandes Came on as a substitute
29′ 4 – – 5 – 6 – – – –
Midfielders5 players
68′ – – 8 – – 1 1 2 2 1 –
90′ – – 60 1 – 1 3 4 1 2 –
R. Mora
81′ 1 – 29 1 – 1 1 3 – 1 –
P. Rosario Came on as a substitute
22′ – – 6 1 – – – – 1 – –
G. Veiga Came on as a substitute
9′ – – 2 – – – – – 1 – –
Forwards5 players
61′ – – – – – – 1 3 1 17 –
68′ – – 2 – 0.16 – – 2 1 7 –
Pepê
90′ – – 2 1 0.16 – 1 6 2 23 –
B. Sainz Came on as a substitute
29′ – – 1 – 0.05 – 1 1 – 7 –
D. Gül Came on as a substitute
22′ – – 1 – 0.02 – – 2 – 4 –
Came on Taken off Sent off Red is the most in that position for the team

Every player who took the pitch, starters first and then substitutes. A dash means none. xG and xA are expected goals and assists. A blank cell means that figure is not available for that player.

Form going into the game

Last five Europa League games before this one, oldest first. Select one to open it.

Previous and next meeting

Shots, expected goals, timeline, lineups, team and player statistics from Bzzoiro Sports Data (sports.bzzoiro.com). Results from Bzzoiro Sports Data.