Odense vs Viborg

7 November 2026 · Danish Superliga · 2026/27 · Referee Jakob Kehlet

Full time 1 – 2

Half-time: 0–2

  • Fiete Arp 68’
  • Mads Søndergaard 11’
  • Lukas Kirkegaard 45’

Match summary

Viborg took a 2-1 win at Odense. Viborg led 2-0 at half-time.

Mads Søndergaard put Viborg ahead with a header in the 11th minute, Lukas Kirkegaard made it 0-2 in the 45th minute, and Fiete Arp pulled one back to make it 1-2 in the 68th minute.

The chances backed that up: Viborg created 1.37 expected goals (xG) from 14 shots to Odense's 1.02 from 14.

Odense hosted Viborg in the Danish Superliga, registering 56 percent possession, 571 passes with an 84.8 percent accuracy, 14 shots with 5 on target, 107 attacks, and 52 dangerous attacks alongside 2 corners, 13 fouls, 1 yellow card, 3 offsides, 16 tackles, and 2 blocked shots. Viborg recorded 44 percent possession, 456 passes at 84.2 percent accuracy, 14 shots with 4 on target, 92 attacks, and 38 dangerous attacks together with 7 corners, 10 fouls, 1 yellow card, 12 tackles, and 2 blocked shots. The expected goals finished Odense 1.02 to Viborg 1.37.

Viborg opened the scoring when Mads Søndergaard headed home in the 11th minute to make it 0-1, before Lukas Kirkegaard added a second with a right foot shot in the 45th minute, leaving the half-time score at 0-2. Odense made 3 substitutions at the start of the second half, and Magnus Andersen received a yellow card in the 61st minute. Fiete Arp scored Odense's goal with a left foot shot in the 68th minute, reducing the deficit to 1-2. Jeppe Grønning was booked for Viborg in the 76th minute, and the match finished 1-2.

Match stats

56% Possession 44%
14 Shots 14
5 Shots on target 4
2 Corners 7
107 Attacks 92
52 Dangerous attacks 38
571 Passes 456
84.8% Pass accuracy 84.2%
16 Tackles 12
13 Fouls 10
1 Yellow cards 1
3 Offsides 0

Key events

Odense Viborg
Kick-off
11’
Mads SøndergaardHeader0-1 (Viborg)
13’
Dorian HanzaShot on target
42’
Sami JalalShot on target
45’
Lukas KirkegaardRight foot shot0-2 (Viborg)
Half-time0-2
Second half underway
Marcus McCoyShot on target
60’
61’
Fiete ArpLeft foot shot1-2 (Odense)
68’
76’
Rasmus FalkShot on target
83’
Fredrik UlvestadShot on target
85’
Alexander Ahl-HolmströmShot on target
90+1’
Full-time1-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.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.02 1.37 11’ Mads Søndergaard (Viborg), 0-1 11’ 45’ Lukas Kirkegaard (Viborg), 0-2 45’ 68’ Fiete Arp (Odense), 1-2 68’ 0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.02 1.37 11’ Mads Søndergaard (Viborg), 0-1 Søndergaard 11’ 45’ Lukas Kirkegaard (Viborg), 0-2 Kirkegaard 45’ 68’ Fiete Arp (Odense), 1-2 Arp 68’
Odense 1.02 xGViborg 1.37 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Viborg attacking Odense attacking 
68’ Fiete Arp (Odense), open play, 0.30 xG, goal 13’ Dorian Hanza (Viborg), open play, 0.25 xG, saved 19’ Dorian Hanza (Viborg), open play, 0.22 xG, off target 11’ Mads Søndergaard (Viborg), open play, 0.21 xG, goal 50’ Mads Søndergaard (Viborg), open play, 0.17 xG, off target 37’ Fiete Arp (Odense), open play, 0.14 xG, hit the woodwork 42’ Sami Jalal (Viborg), open play, 0.11 xG, saved 45’ Lukas Kirkegaard (Viborg), set piece, 0.10 xG, goal 21’ Dorian Hanza (Viborg), open play, 0.08 xG, blocked 54’ Noah Ganaus (Odense), open play, 0.08 xG, off target 36’ Noah Ganaus (Odense), open play, 0.08 xG, blocked 21’ Fiete Arp (Odense), open play, 0.07 xG, blocked 23’ Ismahila Ouédraogo (Odense), open play, 0.07 xG, off target 5’ Topi Keskinen (Odense), open play, 0.05 xG, off target 67’ Charly Nouck (Viborg), open play, 0.06 xG, blocked 36’ Topi Keskinen (Odense), open play, 0.05 xG, off target 85’ Fredrik Ulvestad (Odense), open play, 0.04 xG, saved 3’ Mads Søndergaard (Viborg), set piece, 0.04 xG, off target 4’ Noah Ganaus (Odense), open play, 0.04 xG, off target 70’ Sami Jalal (Viborg), open play, 0.04 xG, off target 22’ Asker Beck (Viborg), from a corner, 0.03 xG, off target 10’ Charly Nouck (Viborg), open play, 0.03 xG, off target 83’ Rasmus Falk (Odense), open play, 0.03 xG, saved 90+1’ Alexander Ahl-Holmström (Odense), open play, 0.02 xG, saved 90+2’ Ulrik Yttergård Jenssen (Odense), open play, 0.02 xG, off target 6’ Hjalte Bidstrup (Viborg), open play, 0.02 xG, off target 60’ Marcus McCoy (Odense), open play, 0.02 xG, saved 68’ Oliver Bundgaard (Viborg), from a corner, 0.01 xG, off target 68’ Fiete Arp (Odense), open play, 0.30 xG, goal 13’ Dorian Hanza (Viborg), open play, 0.25 xG, saved 19’ Dorian Hanza (Viborg), open play, 0.22 xG, off target 11’ Mads Søndergaard (Viborg), open play, 0.21 xG, goal 50’ Mads Søndergaard (Viborg), open play, 0.17 xG, off target 37’ Fiete Arp (Odense), open play, 0.14 xG, hit the woodwork 42’ Sami Jalal (Viborg), open play, 0.11 xG, saved 45’ Lukas Kirkegaard (Viborg), set piece, 0.10 xG, goal 21’ Dorian Hanza (Viborg), open play, 0.08 xG, blocked 54’ Noah Ganaus (Odense), open play, 0.08 xG, off target 36’ Noah Ganaus (Odense), open play, 0.08 xG, blocked 23’ Ismahila Ouédraogo (Odense), open play, 0.07 xG, off target 21’ Fiete Arp (Odense), open play, 0.07 xG, blocked 67’ Charly Nouck (Viborg), open play, 0.06 xG, blocked 5’ Topi Keskinen (Odense), open play, 0.05 xG, off target 36’ Topi Keskinen (Odense), open play, 0.05 xG, off target 85’ Fredrik Ulvestad (Odense), open play, 0.04 xG, saved 3’ Mads Søndergaard (Viborg), set piece, 0.04 xG, off target 4’ Noah Ganaus (Odense), open play, 0.04 xG, off target 70’ Sami Jalal (Viborg), open play, 0.04 xG, off target 22’ Asker Beck (Viborg), from a corner, 0.03 xG, off target 10’ Charly Nouck (Viborg), open play, 0.03 xG, off target 83’ Rasmus Falk (Odense), open play, 0.03 xG, saved 90+1’ Alexander Ahl-Holmström (Odense), open play, 0.02 xG, saved 90+2’ Ulrik Yttergård Jenssen (Odense), open play, 0.02 xG, off target 6’ Hjalte Bidstrup (Viborg), open play, 0.02 xG, off target 60’ Marcus McCoy (Odense), open play, 0.02 xG, saved 68’ Oliver Bundgaard (Viborg), from a corner, 0.01 xG, off target
Size shows xG Goal On target Off target or blocked

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

Lineups

Odense 4-2-3-1 Starting XI
Myhra
Andersen 80’
Pauli 61’
Askou
McCoy
Ouédraogo 61’
Ulvestad
Gammelgaard 46’
Arp 74’
Keskinen
Ganaus
Viborg 4-3-3 Starting XI
Kiilerich
Bidstrup 76’
Kirkegaard
Zaletel
Bundgaard
Beck
Grønning
Søndergaard 76’
Jalal 87’
Hanza 87’
Nouck 67’

Player stats

Players16 players
90′ – – – – – – –
Magnus Andersen Taken off
80′ – – – – – –
Julian Pauli Taken off
61′ – – – – – – –
90′ – – – – – – –
90′ – – 1 0.02 – – –
Ismahila Ouédraogo Taken off
61′ – – 1 0.07 – – –
90′ – – 1 0.04 – – –
Christian Gammelgaard Taken off
46′ – – – – – – –
Fiete Arp Taken off
74′ 1 – 3 0.50 – – –
90′ – – 2 0.10 – – –
90′ – – 3 0.20 – – –
Rasmus Falk Came on as a substitute
44′ – – 1 0.03 – – –
Ulrik Yttergård Jenssen Came on as a substitute
29′ – – 1 0.02 – – –
Nikolaj Juul-Sandberg Came on as a substitute
29′ – – – – – – –
Alexander Ahl-Holmström Came on as a substitute
16′ – – 1 0.02 – – –
Adam Sørensen Came on as a substitute
10′ – – – – – – –
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.