Grasshoppers vs Lugano

2 August 2026 · Swiss Super League · 2026/27 · Referee Marijan Drmic

Full time 1 – 4

Half-time: 1–0

  • Luke Plange 22’
  • Dereck Moncada 52’
  • Yanis Cimignani 71’, 90+2’
  • Elias Pihlström 78’

Match summary

Lugano came from behind to win 4-1 away at Grasshoppers. Grasshoppers led 1-0 at half-time.

In the first half, Luke Plange put Grasshoppers ahead in the 22nd minute. In the second half, Dereck Moncada equalised with a header in the 52nd minute, Yanis Cimignani put Lugano in front in the 71st minute, Elias Pihlström made it 1-3 in the 78th minute, and Cimignani made it 1-4 in stoppage time.

There was little between the sides on chances: Grasshoppers created 1.83 expected goals (xG) from 11 shots, Lugano 2.13 from 15.

Match stats

42% Possession 58%
11 Shots 14
4 Shots on target 6
3 Corners 4
121 Attacks 133
76 Dangerous attacks 67
439 Passes 609
83.6% Pass accuracy 87.4%
18 Tackles 24
11 Fouls 4
2 Yellow cards 0

Key events

Grasshoppers Lugano
Kick-off
Corner
2’
12’
Corner
Luke PlangeRight foot shot1-0 (Grasshoppers)
22’
Samuel KrasniqiShot on target
28’
Corner
31’
Amir AbrashiShot on target
35’
40’
Mattia ZanottiShot on target
Half-time1-0
47’
Daniel Dos SantosShot on target
47’
Corner
48’
Corner
Second half underway
52’
Dereck MoncadaHeader1-1 (Lugano)
52’
Corner
71’
Yanis CimignaniLeft foot shot1-2 (Lugano)
78’
Elias PihlströmRight foot shot1-3 (Lugano)
Tim MeyerFoul
85’
Samuel KrasniqiShot on target
89’
Corner
89’
90+2’
Yanis CimignaniLeft foot shot1-4 (Lugano)
90+2’
Full-time1-4

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 2.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.83 2.13 22’ Luke Plange (Grasshoppers), 1-0 22’ 52’ Dereck Moncada (Lugano), 1-1 52’ 71’ Yanis Cimignani (Lugano), 1-2 71’ 78’ Elias Pihlström (Lugano), 1-3 78’ 90+2’ Yanis Cimignani (Lugano), 1-4 90+2’ 0.0 0.5 1.0 1.5 2.0 2.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.83 2.13 22’ Luke Plange (Grasshoppers), 1-0 Plange 22’ 52’ Dereck Moncada (Lugano), 1-1 Moncada 52’ 71’ Yanis Cimignani (Lugano), 1-2 Cimignani 71’ 78’ Elias Pihlström (Lugano), 1-3 Pihlström 78’ 90+2’ Yanis Cimignani (Lugano), 1-4 Cimignani 90+2’
Grasshoppers 1.83 xGLugano 2.13 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Lugano attacking Grasshoppers attacking 
22’ Luke Plange (Grasshoppers), open play, 0.90 xG, goal 71’ Yanis Cimignani (Lugano), open play, 0.65 xG, goal 90+2’ Yanis Cimignani (Lugano), open play, 0.38 xG, goal 68’ Óscar Clemente (Grasshoppers), open play, 0.22 xG, off target 59’ Dereck Moncada (Lugano), open play, 0.20 xG, blocked 62’ Ezgjan Alioski (Lugano), open play, 0.20 xG, off target 28’ Samuel Krasniqi (Grasshoppers), open play, 0.19 xG, saved 2’ Nikolas Muci (Grasshoppers), open play, 0.16 xG, blocked 35’ Amir Abrashi (Grasshoppers), open play, 0.15 xG, saved 52’ Dereck Moncada (Lugano), from a corner, 0.15 xG, goal 83’ Elias Pihlström (Lugano), set piece, 0.11 xG, hit the woodwork 48’ Yanis Cimignani (Lugano), from a corner, 0.08 xG, blocked 40’ Mattia Zanotti (Lugano), open play, 0.06 xG, saved 11’ Samuel Krasniqi (Grasshoppers), open play, 0.05 xG, off target 40’ Renato Steffen (Lugano), open play, 0.06 xG, off target 32’ Hassane Imourane (Grasshoppers), from a corner, 0.05 xG, blocked 48’ Uran Bislimi (Lugano), open play, 0.05 xG, off target 13’ Anto Grgić (Lugano), open play, 0.04 xG, off target 50’ Uran Bislimi (Lugano), open play, 0.04 xG, off target 65’ Samuele Bengondo (Grasshoppers), open play, 0.04 xG, blocked 78’ Elias Pihlström (Lugano), open play, 0.04 xG, goal 47’ Daniel Dos Santos (Lugano), open play, 0.04 xG, saved 58’ Yanis Cimignani (Lugano), open play, 0.03 xG, blocked 28’ Samuel Krasniqi (Grasshoppers), open play, 0.03 xG, blocked 35’ Nico Rissi (Grasshoppers), open play, 0.03 xG, off target 89’ Samuel Krasniqi (Grasshoppers), open play, 0.02 xG, saved 22’ Luke Plange (Grasshoppers), open play, 0.90 xG, goal 71’ Yanis Cimignani (Lugano), open play, 0.65 xG, goal 90+2’ Yanis Cimignani (Lugano), open play, 0.38 xG, goal 68’ Óscar Clemente (Grasshoppers), open play, 0.22 xG, off target 62’ Ezgjan Alioski (Lugano), open play, 0.20 xG, off target 59’ Dereck Moncada (Lugano), open play, 0.20 xG, blocked 28’ Samuel Krasniqi (Grasshoppers), open play, 0.19 xG, saved 2’ Nikolas Muci (Grasshoppers), open play, 0.16 xG, blocked 35’ Amir Abrashi (Grasshoppers), open play, 0.15 xG, saved 52’ Dereck Moncada (Lugano), from a corner, 0.15 xG, goal 83’ Elias Pihlström (Lugano), set piece, 0.11 xG, hit the woodwork 48’ Yanis Cimignani (Lugano), from a corner, 0.08 xG, blocked 40’ Mattia Zanotti (Lugano), open play, 0.06 xG, saved 40’ Renato Steffen (Lugano), open play, 0.06 xG, off target 11’ Samuel Krasniqi (Grasshoppers), open play, 0.05 xG, off target 32’ Hassane Imourane (Grasshoppers), from a corner, 0.05 xG, blocked 48’ Uran Bislimi (Lugano), open play, 0.05 xG, off target 13’ Anto Grgić (Lugano), open play, 0.04 xG, off target 65’ Samuele Bengondo (Grasshoppers), open play, 0.04 xG, blocked 78’ Elias Pihlström (Lugano), open play, 0.04 xG, goal 47’ Daniel Dos Santos (Lugano), open play, 0.04 xG, saved 50’ Uran Bislimi (Lugano), open play, 0.04 xG, off target 58’ Yanis Cimignani (Lugano), open play, 0.03 xG, blocked 28’ Samuel Krasniqi (Grasshoppers), open play, 0.03 xG, blocked 35’ Nico Rissi (Grasshoppers), open play, 0.03 xG, off target 89’ Samuel Krasniqi (Grasshoppers), open play, 0.02 xG, saved
Size shows xG Goal On target Off target or blocked

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

Lineups

Grasshoppers 4-3-3 Starting XI
Hammel
Stroscio
Rissi
Paloschi 58’
Mikulic
Imourane 58’
Meyer
Abrashi 75’
Krasniqi
Plange 46’
Muci 58’
Lugano 5-3-2 Starting XI
Ballmoos
Alioski
Papadopoulos
Mai
Bichsel 46’
Zanotti
Grgić 81’
Bislimi
Santos 81’
Steffen 46’
Moncada 67’

Player stats

Goalkeeper1 player
90′ 2 4 32 – – – – –
Defenders5 players
90′ 3 4 – 4 1 34 1 – 1 –
Dorian Paloschi Taken off
58′ – – – 1 1 26 – – – –
90′ 1 – 2 3 2 51 1 – – –
90′ 6 – – 7 1 35 1 – –
Abdoulaye Diaby Came on as a substitute
32′ 1 – – 2 1 16 – – – –
Midfielders5 players
Hassane Imourane Taken off
58′ – – 21 – – 2 – 2 2 – –
90′ – – 52 – – 4 – 5 2 –
Amir Abrashi Taken off
75′ – – 36 – – – 1 1 – – –
90′ – – 33 1 – – – 7 1 3 –
Samuel Marques Came on as a substitute
32′ – – 28 – – 1 1 1 2 – –
Forwards5 players
Luke Plange Taken off
45′ 1 – 1 1 0.90 – 1 1 – 10 –
Nikolas Muci Taken off
58′ – – 1 – 0.16 – – 3 – 13 –
Óscar Clemente Came on as a substitute
45′ – – 1 – 0.22 – – 1 – 25 –
Samuele Bengondo Came on as a substitute
32′ – – 1 – 0.04 – – 3 – 20 –
Alieu Conateh Came on as a substitute
15′ – – – – – – – 2 1 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.

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.