AC Milan vs Bologna

27 January 2024 · Serie A · 2023/24 · Referee Davide Massa

Full time 2 – 2

Half-time: 1–1

  • Ruben Loftus-Cheek 45’, 83’
  • Joshua Zirkzee 29’
  • Riccardo Orsolini 90+2’ (pen)

Match summary

AC Milan and Bologna drew 2-2. It was 1-1 at half-time.

In the first half, Joshua Zirkzee put Bologna ahead in the 29th minute, set up by Riccardo Calafiori and Ruben Loftus-Cheek equalised in the 45th minute, set up by Davide Calabria. In the second half, Loftus-Cheek put AC Milan in front with a header in the 83rd minute, set up by Alessandro Florenzi and Riccardo Orsolini equalised from the penalty spot in stoppage time.

AC Milan had the better of the chances, with 3.60 expected goals (xG) from 14 shots to Bologna's 2.11 from 15. Olivier Giroud had a penalty saved for AC Milan. Theo Hernández hit the woodwork from the penalty spot for AC Milan.

Match stats

AC Milan Bologna
14 Shots 15
4 Shots on Target 4
4 Corners 1
5 Yellow Cards 3
0 Red Cards 0
3.60 xG 2.07
2.08 Non-penalty xG 1.31
4 Deep Completions 5

Key events

AC Milan Bologna
Kick-off
29’
Joshua Zirkzee
Assist: Riccardo Calafiori
0-1 (Bologna)
Ruben Loftus-Cheek
Assist: Davide Calabria
1-1 (AC Milan)
45’
Half-time1-1
Ruben Loftus-Cheek
Assist: Alessandro Florenzi
2-1 (AC Milan)
83’
90+2’
Riccardo Orsolini
Penalty
2-2 (Bologna)
Full-time2-2

Bookings

Card times are not on file for this game, so they are listed without a minute.

AC Milan
  • Davide Calabria
  • Yacine Adli
  • Ruben Loftus-Cheek
  • Rafael Leão
  • Filippo Terracciano
Bologna
  • Riccardo Calafiori
  • Lewis Ferguson
  • Kacper Urbanski

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 5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 3.60 2.11 29’ Joshua Zirkzee (Bologna), 0-1 29’ 45’ Ruben Loftus-Cheek (AC Milan), 1-1 45’ 83’ Ruben Loftus-Cheek (AC Milan), 2-1 83’ 90+2’ Riccardo Orsolini (Bologna), 2-2 90+2’ 0 1 2 3 4 5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 3.60 2.11 29’ Joshua Zirkzee (Bologna), 0-1 Zirkzee 29’ 45’ Ruben Loftus-Cheek (AC Milan), 1-1 Loftus-Cheek 45’ 83’ Ruben Loftus-Cheek (AC Milan), 2-1 Loftus-Cheek 83’ 90+2’ Riccardo Orsolini (Bologna), 2-2 Orsolini 90+2’
AC Milan 3.60 xGBologna 2.11 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Bologna attacking AC Milan attacking 
42’ Olivier Giroud (AC Milan), penalty, 0.76 xG, saved 74’ Theo Hernández (AC Milan), penalty, 0.76 xG, hit the woodwork 90+2’ Riccardo Orsolini (Bologna), penalty, 0.76 xG, goal 33’ Simon Kjaer (AC Milan), set piece, 0.49 xG, off target 45’ Ruben Loftus-Cheek (AC Milan), open play, 0.49 xG, goal 83’ Ruben Loftus-Cheek (AC Milan), open play, 0.42 xG, goal 29’ Giovanni Fabbian (Bologna), open play, 0.37 xG, blocked 70’ Rafael Leão (AC Milan), open play, 0.34 xG, off target 49’ Joshua Zirkzee (Bologna), open play, 0.30 xG, off target 37’ Kacper Urbanski (Bologna), open play, 0.15 xG, blocked 29’ Riccardo Calafiori (Bologna), open play, 0.11 xG, blocked 19’ Rafael Leão (AC Milan), open play, 0.11 xG, saved 29’ Giovanni Fabbian (Bologna), open play, 0.08 xG, blocked 29’ Joshua Zirkzee (Bologna), open play, 0.06 xG, goal 38’ Christian Pulisic (AC Milan), open play, 0.06 xG, off target 53’ Joshua Zirkzee (Bologna), open play, 0.06 xG, saved 24’ Joshua Zirkzee (Bologna), from a corner, 0.05 xG, off target 81’ Rafael Leão (AC Milan), from a corner, 0.06 xG, off target 53’ Joshua Zirkzee (Bologna), open play, 0.05 xG, blocked 52’ Lorenzo De Silvestri (Bologna), open play, 0.04 xG, blocked 10’ Joshua Zirkzee (Bologna), open play, 0.03 xG, saved 22’ Tijjani Reijnders (AC Milan), open play, 0.03 xG, off target 19’ Davide Calabria (AC Milan), open play, 0.03 xG, off target 48’ Giovanni Fabbian (Bologna), open play, 0.03 xG, blocked 50’ Rafael Leão (AC Milan), open play, 0.02 xG, off target 64’ Tijjani Reijnders (AC Milan), from a corner, 0.03 xG, hit the woodwork 9’ Theo Hernández (AC Milan), open play, 0.02 xG, off target 52’ Victor Kristiansen (Bologna), open play, 0.02 xG, off target 55’ Riccardo Calafiori (Bologna), open play, 0.01 xG, off target 42’ Olivier Giroud (AC Milan), penalty, 0.76 xG, saved 74’ Theo Hernández (AC Milan), penalty, 0.76 xG, hit the woodwork 90+2’ Riccardo Orsolini (Bologna), penalty, 0.76 xG, goal 33’ Simon Kjaer (AC Milan), set piece, 0.49 xG, off target 45’ Ruben Loftus-Cheek (AC Milan), open play, 0.49 xG, goal 83’ Ruben Loftus-Cheek (AC Milan), open play, 0.42 xG, goal 29’ Giovanni Fabbian (Bologna), open play, 0.37 xG, blocked 70’ Rafael Leão (AC Milan), open play, 0.34 xG, off target 49’ Joshua Zirkzee (Bologna), open play, 0.30 xG, off target 37’ Kacper Urbanski (Bologna), open play, 0.15 xG, blocked 29’ Riccardo Calafiori (Bologna), open play, 0.11 xG, blocked 19’ Rafael Leão (AC Milan), open play, 0.11 xG, saved 29’ Giovanni Fabbian (Bologna), open play, 0.08 xG, blocked 38’ Christian Pulisic (AC Milan), open play, 0.06 xG, off target 53’ Joshua Zirkzee (Bologna), open play, 0.06 xG, saved 29’ Joshua Zirkzee (Bologna), open play, 0.06 xG, goal 81’ Rafael Leão (AC Milan), from a corner, 0.06 xG, off target 24’ Joshua Zirkzee (Bologna), from a corner, 0.05 xG, off target 53’ Joshua Zirkzee (Bologna), open play, 0.05 xG, blocked 52’ Lorenzo De Silvestri (Bologna), open play, 0.04 xG, blocked 10’ Joshua Zirkzee (Bologna), open play, 0.03 xG, saved 19’ Davide Calabria (AC Milan), open play, 0.03 xG, off target 22’ Tijjani Reijnders (AC Milan), open play, 0.03 xG, off target 48’ Giovanni Fabbian (Bologna), open play, 0.03 xG, blocked 50’ Rafael Leão (AC Milan), open play, 0.02 xG, off target 64’ Tijjani Reijnders (AC Milan), from a corner, 0.03 xG, hit the woodwork 9’ Theo Hernández (AC Milan), open play, 0.02 xG, off target 52’ Victor Kristiansen (Bologna), open play, 0.02 xG, off target 55’ Riccardo Calafiori (Bologna), open play, 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.

Player stats

PlayerPosMinGAShxGxAKPCards
Mike Maignan GK900 0.000.000
Davide Calabria DEF6211 0.030.491
Simon Kjaer DEF901 0.490.000
Matteo Gabbia DEF900 0.000.000
Theo Hernández DEF902 0.780.061
Tijjani Reijnders MID902 0.050.031
Yacine Adli MID620 0.000.000
Christian Pulisic MID901 0.060.832
Ruben Loftus-Cheek MID9022 0.900.203
Rafael Leão MID904 0.520.000
Olivier Giroud FWD631 0.760.000
Alessandro Florenzi Sub2810 0.000.421
Yunus Musah Sub280 0.000.000
Luka Jovic Sub270 0.000.000
Filippo Terracciano Sub10 0.000.000
Noah Okafor Sub10 0.000.000

Starters first, then substitutes. xA is expected assists.

Before kick-off

AC Milan win 56% Avg odds 1.73
Draw 26% Avg odds 3.65
Bologna win 18% Avg odds 5.24

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 and player data from Understat. Results and odds from football-data.co.uk. Referee data before 2025/26 from the Transfermarkt datasets project.