Porto vs Tondela

19 April 2026 · Liga Portugal · 2025/26 · Referee Claudio Filipe Ruivo Pereira

Full time 2 – 0

Half-time: 0–0

  • Gabri Veiga 48’
  • Victor Froholdt 65’

Match summary

Porto saw off Tondela 2-0. It was goalless at half-time.

Gabri Veiga put Porto ahead in the 48th minute and Victor Froholdt made it 2-0 in the 65th minute.

The chances backed that up: Porto created 3.17 expected goals (xG) from 22 shots to Tondela's 0.12 from 5. Alan Varela had a penalty saved for Porto.

Match stats

60% Possession 40%
22 Shots 5
8 Shots on target 3
8 Corners 3
503 Passes 341
88.3% Pass accuracy 80.6%
16 Tackles 25
12 Fouls 11
4 Yellow cards 6
0 Red cards 0
4 Offsides 0

Key events

Porto Tondela
Kick-off
Jakub KiwiorShot on target
2’
Alan VarelaShot on target
10’
Victor FroholdtVAR: Penalty given
13’
19’
21’
Maranhão
24’
Joe HodgeShot on target
35’
Rodrigo MoraVAR: No penalty
38’
Alan VarelaMissed penaltysaved
39’
Alan VarelaShot on target
39’
45+3’
Half-time0-0
Gabri VeigaLeft foot shot1-0 (Porto)
48’
Oskar PietuszewskiShot on target
49’
Second half underway
50’
Christian Marques
Thiago SilvaZaidu Sanusi
62’
63’
Yaya SitholeMoudjatovic
Victor FroholdtLeft foot shot2-0 (Porto)
65’
70’
João AfonsoBrayan Medina
70’
Arjen Van Der HeideMaranhão
Alberto CostaShot on target
72’
Victor FroholdtShot on target
72’
74’
Tiago MansoShot on target
78’
Hugo FélixRony Lopes
80’
Yaya Sithole
81’
Hugo FélixShot on target
84’
90’
Hugo Félix
90’
Full-time2-0

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 1 2 3 4 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 3.17 0.12 48’ Gabri Veiga (Porto), 1-0 48’ 65’ Victor Froholdt (Porto), 2-0 65’ 0 1 2 3 4 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 3.17 0.12 48’ Gabri Veiga (Porto), 1-0 Veiga 48’ 65’ Victor Froholdt (Porto), 2-0 Froholdt 65’
Porto 3.17 xGTondela 0.12 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Tondela attacking Porto attacking 
39’ Alan Varela (Porto), penalty, 0.79 xG, saved 72’ Victor Froholdt (Porto), open play, 0.51 xG, saved 48’ Gabri Veiga (Porto), open play, 0.35 xG, goal 88’ Jan Bednarek (Porto), from a corner, 0.34 xG, off target 33’ Jakub Kiwior (Porto), from a corner, 0.26 xG, off target 53’ Alberto Costa (Porto), open play, 0.16 xG, blocked 37’ Rodrigo Mora (Porto), open play, 0.09 xG, blocked 50’ Victor Froholdt (Porto), from a corner, 0.08 xG, off target 17’ Deniz Gül (Porto), set piece, 0.08 xG, off target 71’ William Gomes (Porto), open play, 0.07 xG, blocked 65’ Victor Froholdt (Porto), open play, 0.06 xG, goal 51’ Victor Froholdt (Porto), open play, 0.06 xG, off target 14’ Jan Bednarek (Porto), open play, 0.05 xG, blocked 72’ Alberto Costa (Porto), open play, 0.05 xG, saved 6’ Oskar Pietuszewski (Porto), open play, 0.05 xG, off target 10’ Alan Varela (Porto), open play, 0.04 xG, saved 20’ Rony Lopes (Tondela), direct free kick, 0.04 xG, off target 90+5’ Gabri Veiga (Porto), direct free kick, 0.04 xG, blocked 29’ Alan Varela (Porto), direct free kick, 0.03 xG, off target 74’ Tiago Manso (Tondela), open play, 0.03 xG, saved 85’ Juan Rodríguez (Tondela), from a corner, 0.03 xG, off target 2’ Jakub Kiwior (Porto), from a corner, 0.02 xG, saved 17’ Victor Froholdt (Porto), set piece, 0.02 xG, blocked 81’ Hugo Félix (Tondela), open play, 0.02 xG, saved 23’ Zaidu Sanusi (Porto), open play, 0.02 xG, blocked 49’ Oskar Pietuszewski (Porto), set piece, 0.02 xG, saved 24’ Joe Hodge (Tondela), open play, 0.01 xG, saved 39’ Alan Varela (Porto), penalty, 0.79 xG, saved 72’ Victor Froholdt (Porto), open play, 0.51 xG, saved 48’ Gabri Veiga (Porto), open play, 0.35 xG, goal 88’ Jan Bednarek (Porto), from a corner, 0.34 xG, off target 33’ Jakub Kiwior (Porto), from a corner, 0.26 xG, off target 53’ Alberto Costa (Porto), open play, 0.16 xG, blocked 37’ Rodrigo Mora (Porto), open play, 0.09 xG, blocked 17’ Deniz Gül (Porto), set piece, 0.08 xG, off target 50’ Victor Froholdt (Porto), from a corner, 0.08 xG, off target 71’ William Gomes (Porto), open play, 0.07 xG, blocked 65’ Victor Froholdt (Porto), open play, 0.06 xG, goal 51’ Victor Froholdt (Porto), open play, 0.06 xG, off target 14’ Jan Bednarek (Porto), open play, 0.05 xG, blocked 72’ Alberto Costa (Porto), open play, 0.05 xG, saved 6’ Oskar Pietuszewski (Porto), open play, 0.05 xG, off target 10’ Alan Varela (Porto), open play, 0.04 xG, saved 20’ Rony Lopes (Tondela), direct free kick, 0.04 xG, off target 90+5’ Gabri Veiga (Porto), direct free kick, 0.04 xG, blocked 29’ Alan Varela (Porto), direct free kick, 0.03 xG, off target 85’ Juan Rodríguez (Tondela), from a corner, 0.03 xG, off target 74’ Tiago Manso (Tondela), open play, 0.03 xG, saved 2’ Jakub Kiwior (Porto), from a corner, 0.02 xG, saved 81’ Hugo Félix (Tondela), open play, 0.02 xG, saved 17’ Victor Froholdt (Porto), set piece, 0.02 xG, blocked 23’ Zaidu Sanusi (Porto), open play, 0.02 xG, blocked 49’ Oskar Pietuszewski (Porto), set piece, 0.02 xG, saved 24’ Joe Hodge (Tondela), open play, 0.01 xG, saved
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
Sanusi 62’
Bednarek
Kiwior 46’
Costa
Froholdt
Varela
Mora 46’
Pietuszewski 70’
Gül 88’
Pepê
Tondela 5-4-1 Starting XI
Fontes
Manso
Silva
Marques
Medina 70’
Conceição
Moudjatovic 63’
Hodge 63’
Rodríguez
Maranhão 70’
Lopes 78’

Player stats

Goalkeeper1 player
90′ 3 0 21 – – – – –
Defenders5 players
90′ 2 1 – 5 1 45 3 – –
90′ – 2 – 9 9 103 – – – –
Jakub Kiwior Taken off
45′ – – – 2 2 32 3 – –
Zaidu Sanusi Taken off
62′ – – – 1 – 30 1 – – –
Thiago Silva Came on as a substitute
28′ 1 – – 1 – 28 – – – –
Midfielders8 players
90′ 1 – 43 – – 1 – 4 1 1 –
90′ – – 34 – – – – – – – –
Rodrigo Mora Taken off
45′ – – 20 4 – – – – 1 –
Pepê
90′ – – 40 3 – 9 – 11 – 2 –
Oskar Pietuszewski Taken off
70′ – – 15 – – 1 – 4 – 1 –
Pablo Rosario Came on as a substitute
45′ – – 41 – – – – – – – –
Gabri Veiga Came on as a substitute
45′ 1 – 25 1 – 1 – 4 1 1
Seko Fofana Came on as a substitute
8′ – – 6 – – – – 1 – – –
Forwards2 players
Deniz Gül Taken off
88′ – 1 1 – 0.08 – 2 5 2 16 –
William Gomes Came on as a substitute
20′ – – 1 – 0.07 – 1 2 1 7 –
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.

Before kick-off

Porto win 81% Avg odds 1.14
Draw 13% Avg odds 6.90
Tondela win 6% Avg odds 17.04

Chances implied by the average closing odds, with the bookmaker margin removed.

Form going into the game

Last five 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 and odds from football-data.co.uk.