St. Gallen vs Luzern

9 August 2026 · Swiss Super League · 2026/27 · Referee Alessandro Dudic

Full time 2 – 2

Half-time: 1–0

  • Lukas Daschner 45+3’
  • Lukas Görtler 90+11’ (pen)
  • Daniel Mikołajewski 46’
  • Matteo Di Giusto 89’

Match summary

St. Gallen and Luzern drew 2-2. St. Gallen led 1-0 at half-time.

In the first half, Lukas Daschner put St. Gallen ahead in first-half stoppage time. In the second half, Daniel Mikołajewski equalised in the 46th minute, Matteo Di Giusto put Luzern in front in the 89th minute, and Lukas Görtler equalised from the penalty spot in stoppage time.

St. Gallen had the better of the chances, with 3.31 expected goals (xG) from 24 shots to Luzern's 1.37 from 12.

Match stats

61% Possession 39%
24 Shots 12
11 Shots on target 3
6 Corners 9
115 Attacks 81
88 Dangerous attacks 56
392 Passes 242
73.0% Pass accuracy 60.3%
11 Tackles 12
8 Fouls 17
2 Yellow cards 6
0 Red cards 0
2 Offsides 3

Key events

St. Gallen Luzern
Kick-off
Christian WitzigShot on target
7’
12’
Corner
13’
Corner
14’
18’
Corner
22’
26’
Corner
Aliou BaldeShot on target
28’
29’
30’
Corner
Corner
31’
Aliou BaldeShot on target
32’
38’
Corner
39’
Lukas DaschnerShot on target
40’
Corner
45+2’
Lukas DaschnerRight foot shot1-0 (St. Gallen)
45+3’
Half-time1-0
46’
Daniel MikołajewskiRight foot shot1-1 (Luzern)
Second half underway
Lukas GörtlerShot on target
50’
51’
Corner
52’
59’
Leon FrokajShot on target
61’
Aliou BaldeShot on target
61’
Aliou BaldeShot on target
63’
71’
Corner
Corner
79’
Lukas GörtlerShot on target
80’
82’
Corner
84’
Aurelio OehlersShot on target
84’
Corner
Corner
87’
Corner
88’
89’
Matteo Di GiustoLeft foot shot1-2 (Luzern)
90+4’
90+7’
Lukas GörtlerVAR: No penalty
90+9’
Lukas GörtlerPenalty2-2 (St. Gallen)
90+11’
Full-time2-2

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.31 1.37 45+3’ Lukas Daschner (St. Gallen), 1-0 45+3’ 46’ Daniel Mikołajewski (Luzern), 1-1 46’ 89’ Matteo Di Giusto (Luzern), 1-2 89’ 90+11’ Lukas Görtler (St. Gallen), 2-2 90+11’ 0 1 2 3 4 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 3.31 1.37 45+3’ Lukas Daschner (St. Gallen), 1-0 Daschner 45+3’ 46’ Daniel Mikołajewski (Luzern), 1-1 Mikołajewski 46’ 89’ Matteo Di Giusto (Luzern), 1-2 Di Giusto 89’ 90+11’ Lukas Görtler (St. Gallen), 2-2 Görtler 90+11’
St. Gallen 3.31 xGLuzern 1.37 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Luzern attacking St. Gallen attacking 
48’ Lukas Daschner (St. Gallen), open play, 0.97 xG, goal 90+11’ Lukas Görtler (St. Gallen), penalty, 0.79 xG, goal 49’ Oscar Kabwit (Luzern), open play, 0.35 xG, hit the woodwork 89’ Matteo Di Giusto (Luzern), open play, 0.33 xG, goal 28’ Aliou Balde (St. Gallen), open play, 0.30 xG, saved 63’ Aliou Balde (St. Gallen), open play, 0.19 xG, saved 90+3’ Corsin Konietzke (St. Gallen), open play, 0.17 xG, off target 84’ Aurelio Oehlers (Luzern), open play, 0.16 xG, saved 88’ Andrin Hunziker (St. Gallen), from a corner, 0.15 xG, blocked 5’ Lucas Silva (Luzern), open play, 0.14 xG, blocked 46’ Daniel Mikołajewski (Luzern), open play, 0.09 xG, goal 80’ Lukas Görtler (St. Gallen), from a corner, 0.09 xG, saved 34’ Christian Witzig (St. Gallen), open play, 0.08 xG, off target 61’ Aliou Balde (St. Gallen), open play, 0.07 xG, saved 35’ Aliou Balde (St. Gallen), set piece, 0.07 xG, off target 52’ Christian Witzig (St. Gallen), open play, 0.06 xG, blocked 77’ Matteo Di Giusto (Luzern), open play, 0.06 xG, off target 61’ Chima Okoroji (St. Gallen), open play, 0.06 xG, blocked 79’ Betim Fazliji (St. Gallen), set piece, 0.06 xG, blocked 83’ Leonardo Bertone (Luzern), open play, 0.06 xG, blocked 12’ Rúben Dantas (Luzern), open play, 0.05 xG, blocked 32’ Aliou Balde (St. Gallen), open play, 0.04 xG, saved 85’ Leonardo Bertone (Luzern), set piece, 0.04 xG, blocked 90+1’ Aurelio Oehlers (Luzern), open play, 0.04 xG, off target 19’ Aliou Balde (St. Gallen), open play, 0.03 xG, hit the woodwork 7’ Christian Witzig (St. Gallen), open play, 0.03 xG, saved 3’ Hugo Vandermersch (St. Gallen), open play, 0.02 xG, blocked 14’ Andrejs Cigaņiks (Luzern), from a corner, 0.02 xG, off target 56’ Aliou Balde (St. Gallen), open play, 0.02 xG, off target 85’ Pius Dorn (Luzern), set piece, 0.03 xG, off target 50’ Lukas Görtler (St. Gallen), open play, 0.02 xG, saved 72’ Enoch Owusu (St. Gallen), open play, 0.02 xG, off target 77’ Joel Ruiz (St. Gallen), open play, 0.02 xG, off target 40’ Lukas Daschner (St. Gallen), from a corner, 0.02 xG, saved 61’ Leon Frokaj (St. Gallen), open play, 0.02 xG, saved 87’ Aliou Balde (St. Gallen), open play, 0.02 xG, blocked 48’ Lukas Daschner (St. Gallen), open play, 0.97 xG, goal 90+11’ Lukas Görtler (St. Gallen), penalty, 0.79 xG, goal 49’ Oscar Kabwit (Luzern), open play, 0.35 xG, hit the woodwork 89’ Matteo Di Giusto (Luzern), open play, 0.33 xG, goal 28’ Aliou Balde (St. Gallen), open play, 0.30 xG, saved 63’ Aliou Balde (St. Gallen), open play, 0.19 xG, saved 90+3’ Corsin Konietzke (St. Gallen), open play, 0.17 xG, off target 84’ Aurelio Oehlers (Luzern), open play, 0.16 xG, saved 88’ Andrin Hunziker (St. Gallen), from a corner, 0.15 xG, blocked 5’ Lucas Silva (Luzern), open play, 0.14 xG, blocked 46’ Daniel Mikołajewski (Luzern), open play, 0.09 xG, goal 80’ Lukas Görtler (St. Gallen), from a corner, 0.09 xG, saved 34’ Christian Witzig (St. Gallen), open play, 0.08 xG, off target 35’ Aliou Balde (St. Gallen), set piece, 0.07 xG, off target 61’ Aliou Balde (St. Gallen), open play, 0.07 xG, saved 52’ Christian Witzig (St. Gallen), open play, 0.06 xG, blocked 77’ Matteo Di Giusto (Luzern), open play, 0.06 xG, off target 61’ Chima Okoroji (St. Gallen), open play, 0.06 xG, blocked 79’ Betim Fazliji (St. Gallen), set piece, 0.06 xG, blocked 83’ Leonardo Bertone (Luzern), open play, 0.06 xG, blocked 12’ Rúben Dantas (Luzern), open play, 0.05 xG, blocked 32’ Aliou Balde (St. Gallen), open play, 0.04 xG, saved 85’ Leonardo Bertone (Luzern), set piece, 0.04 xG, blocked 90+1’ Aurelio Oehlers (Luzern), open play, 0.04 xG, off target 19’ Aliou Balde (St. Gallen), open play, 0.03 xG, hit the woodwork 7’ Christian Witzig (St. Gallen), open play, 0.03 xG, saved 85’ Pius Dorn (Luzern), set piece, 0.03 xG, off target 3’ Hugo Vandermersch (St. Gallen), open play, 0.02 xG, blocked 14’ Andrejs Cigaņiks (Luzern), from a corner, 0.02 xG, off target 56’ Aliou Balde (St. Gallen), open play, 0.02 xG, off target 50’ Lukas Görtler (St. Gallen), open play, 0.02 xG, saved 72’ Enoch Owusu (St. Gallen), open play, 0.02 xG, off target 77’ Joel Ruiz (St. Gallen), open play, 0.02 xG, off target 40’ Lukas Daschner (St. Gallen), from a corner, 0.02 xG, saved 61’ Leon Frokaj (St. Gallen), open play, 0.02 xG, saved 87’ Aliou Balde (St. Gallen), open play, 0.02 xG, blocked
Size shows xG Goal On target Off target or blocked

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

Lineups

St. Gallen 3-5-2 Starting XI
Zigi
Okoroji
Ruiz
Stanić 80’
Daschner 55’
Görtler
Frokaj 69’
Stevanović
Vandermersch 55’
Witzig 80’
Balde
Luzern 4-2-3-1 Starting XI
Simoni
Knežević 83’
Dantas 46’
Dorn
Freimann
Bertone
Cigaņiks
Silva 79’
Giusto
Kabwit 79’
Meyer 64’

Player stats

Goalkeeper1 player
90′ 1 2 35 1 – – – –
Defenders4 players
90′ 1 1 – 3 1 42 – – – –
Jozo Stanić Taken off
80′ 1 – 1 6 4 34 2 – – –
90′ – – – 3 2 41 – – – –
Colin Noah Kleine-Bekel Came on as a substitute
10′ – – – 1 1 4 1 – – –
Midfielders8 players
Hugo Vandermersch Taken off
55′ – – 24 – – 1 – 2 – 1 –
90′ 1 – 50 2 – 2 – 9 1 5 –
Lukas Daschner Taken off
55′ 1 – 22 1 – 1 – 2 1 1
Leon Frokaj Taken off
69′ – – 14 3 – 2 – 2 1 –
90′ – – 39 – – 1 – 6 1 – –
Christian Witzig Taken off
80′ – – 19 3 – – – – – – –
Betim Fazliji Came on as a substitute
21′ – – 8 – – – – 1 1 – –
Corsin Konietzke Came on as a substitute
10′ – – 5 1 – 1 – 1 – – –
Forwards3 players
90′ – – 8 4 0.73 – 4 4 1 19 –
Andrin Hunziker Came on as a substitute
35′ – – 1 – 0.15 – 1 8 1 15 –
Enoch Owusu Came on as a substitute
35′ – – 1 – 0.02 – 1 3 1 17 –
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.

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.