The history between AC Milan and SSC Bari is woven into the fabric of Italian football, spanning from their first meeting in 1969 to their Coppa Italia reunion in 2025, despite the vast difference in stature between the two clubs.
While these sides have spent much of their history in different tiers of Italian football, their periodic collisions, whether in the grand stadiums of Serie A or the knockout drama of the Coppa Italia, have produced memorable moments, tactical battles, and displays of genuine resilience.
The AC Milan vs SSC Bari fixture carries the weight of Italian football tradition. Milan has long stood as one of Europe’s most decorated clubs, while Bari has represented the pride and grit of the South, a smaller institution that has nonetheless held its own across 27 official meetings.
Table of Contents
AC Milan vs SSC Bari Timeline & Cultural History

This is the complete AC Milan vs SSC Bari timeline, covering every meeting between the two clubs from 1969 to 2025.
AC Milan and SSC Bari occupy very different places in Italian football’s hierarchy, yet their meetings across more than five decades have produced a surprisingly rich history. This timeline covers their verified head-to-head record from 1969 to 2025, including statistics, key matches, and a full breakdown of their most recent encounter in the 2025-26 Coppa Italia.
While Milan has long stood among Europe’s most decorated clubs, Bari has represented the resilience and pride of southern Italy, regularly testing the Rossoneri whenever the two have crossed paths in Serie A or cup competition.
The Early Era: 1969-1992

The first recorded meeting between these clubs took place on September 21, 1969, when AC Milan won 1-0. The return fixture months later was much more one-sided: a 5-0 Milan victory on January 18, 1970, which remains the largest winning margin in the entire head-to-head record.
After a long gap, the fixture resumed in the mid-1980s. AC Milan won 1-0 away at Bari in September 1985, before the reverse fixture in January 1986 ended goalless.
The late 1980s and early 1990s saw Milan’s dominance solidify, though not without exceptions. Milan won 4-0 in April 1990 and 2-0 in January 1991, but Bari responded with a 2-1 win at home in May 1991, one of only four victories Bari has managed in the fixture’s history. Milan closed out this period with further wins in October 1991 and March 1992.
The 1990s: Bari’s Most Competitive Period

The mid-to-late 1990s produced some of the most balanced football between these two sides. On January 15, 1995, the two clubs played out a dramatic 5-3 match at the San Siro in Milan’s favor, a rare high-scoring affair for this fixture.
Remarkably, Bari won the return leg later that year, beating Milan 1-0 in May 1995, and followed it with another 1-0 win in October 1995. For a brief stretch, Bari held the upper hand in this rivalry.
Milan responded with a 3-2 win in February 1996 and a 2-0 win in December 1997, but Bari again showed their capacity to frustrate Milan, winning 1-0 in May 1998 and drawing 0-0 in November 1998.
The fixture closed out the decade with two draws, a 2-2 in March 1999 and a 1-1 in September 1999, before Milan won 3-0 in February 2000 and 4-0 in March 2001, reasserting their dominance heading into the new millennium.
2009-2011: The Farewell Run
After a near-decade absence from each other’s schedules, Milan and Bari met again in September 2009, playing out a 0-0 draw. The most memorable match of this period came on November 7, 2010, when Bari, despite falling behind, fought back to take the lead against Milan before ultimately losing 3-2, a result that underscored Bari’s refusal to be overwhelmed even against a stronger opponent.
AC Milan had also won 2-0 in the corresponding fixture in February 2010. The pair’s final Serie A meetings came in the 2010-11 season: a 3-0 Milan win in January 2011, followed by a 1-1 draw in March 2011. Bari’s relegation shortly afterward ended their run in Serie A and, with it, this fixture’s place in Italy’s top flight for over a decade.
The Modern Era 2025: The Coppa Italia Revival
After 14 years apart, AC Milan and SSC Bari were drawn together again in the 2025-26 Coppa Italia, meeting at the San Siro on August 17, 2025.
Match Breakdown: August 17, 2025
The match ended in a 2-0 win for AC Milan, with goals from Rafael Leão and Christian Pulisic.
First Half
- 14′: Rafael Leão headed home a precise cross from Fikayo Tomori to open the scoring.
- 18′: Leão was substituted for Santiago Giménez due to a physical concern following the goal.
- 21′: Pervis Estupiñán was shown a yellow card.
- 25′: Christian Pulisic struck the crossbar, narrowly missing a second goal.
- 39′: Mike Maignan made a crucial save to deny a long-range effort from Bari’s Giuseppe Sibilli.
Second Half
- 48′: Christian Pulisic doubled Milan’s lead shortly after the restart, finishing a one-two combination with Santiago Giménez.
- 52′: Bari made their first substitutions, introducing Matthias Verreth and Emanuele Rao.
- 66′: Milan made high-profile substitutions, bringing on Luka Modrić, Ardon Jashari, and Yunus Musah, signaling a new era of squad investment.
- 80′: Both sides made their final changes as Milan saw out the result.
Despite the scoreline, Bari tested Milan’s defense early through Gabriele Moncini and forced Maignan into meaningful saves, showing the same resilience that has defined their performances against Milan for decades.
Head-to-Head Record (1969-2025)
Across 75 verified meetings, AC Milan holds a commanding advantage, though Bari’s occasional victories have remained significant moments for the club.
Bari’s four wins in 1991, 1995 (twice), and 1998 all came during a period when the gap between the two clubs was at its narrowest. Their biggest defeat, a 5-0 loss in January 1970, remains the most one-sided result in the fixture’s history.
| Date | Competition | Home Team | Result | Away Team |
|---|---|---|---|---|
| 25/26 | Coppa Italia | AC Milan | 2-0 | Bari |
| 10/11 | Serie A | AC Milan | 1-1 | Bari |
| 10/11 | Coppa Italia | AC Milan | 3-0 | Bari |
| 10/11 | Serie A | Bari | 2-3 | AC Milan |
| 09/10 | Serie A | Bari | 0-2 | AC Milan |
| 09/10 | Serie A | AC Milan | 0-0 | Bari |
| 00/01 | Serie A | AC Milan | 4-0 | Bari |
| 00/01 | Serie A | Bari | 1-3 | AC Milan |
| 99/00 | Serie A | AC Milan | 4-1 | Bari |
| 99/00 | Serie A | Bari | 1-1 | AC Milan |
| 98/99 | Serie A | AC Milan | 2-2 | Bari |
| 98/99 | Serie A | Bari | 0-0 | AC Milan |
| 97/98 | Serie A | Bari | 1-0 | AC Milan |
| 97/98 | Serie A | AC Milan | 2-0 | Bari |
| 95/96 | Serie A | AC Milan | 3-2 | Bari |
| 95/96 | Serie A | Bari | 1-0 | AC Milan |
| 94/95 | Serie A | AC Milan | 0-1 | Bari |
| 94/95 | Serie A | Bari | 3-5 | AC Milan |
| 91/92 | Serie A | AC Milan | 2-0 | Bari |
| 91/92 | Serie A | Bari | 0-1 | AC Milan |
| 90/91 | Serie A | Bari | 2-1 | AC Milan |
| 90/91 | Coppa Italia | AC Milan | 0-0 | Bari |
| 90/91 | Coppa Italia | Bari | 0-1 | AC Milan |
| 90/91 | Serie A | AC Milan | 2-0 | Bari |
| 89/90 | Serie A | AC Milan | 4-0 | Bari |
| 89/90 | Serie A | Bari | 0-1 | AC Milan |
| 87/88 | Coppa Italia | AC Milan | 5-0 | Bari |
| 85/86 | Serie A | AC Milan | 0-0 | Bari |
| 85/86 | Serie A | Bari | 0-1 | AC Milan |
| 69/70 | Serie A | Bari | 0-5 | AC Milan |
| 69/70 | Serie A | AC Milan | 1-0 | Bari |
| 63/64 | Serie A | AC Milan | 2-0 | Bari |
| 63/64 | Serie A | Bari | 0-2 | AC Milan |
| 60/61 | Serie A | Bari | 1-3 | AC Milan |
| 60/61 | Serie A | AC Milan | 0-0 | Bari |
| 59/60 | Serie A | Bari | 3-0 | AC Milan |
| 59/60 | Serie A | AC Milan | 2-0 | Bari |
| 58/59 | Serie A | Bari | 0-2 | AC Milan |
| 58/59 | Serie A | AC Milan | 4-2 | Bari |
| 49/50 | Serie A | Bari | 2-0 | AC Milan |
| 49/50 | Serie A | AC Milan | 9-1 | Bari |
| 48/49 | Serie A | AC Milan | 4-1 | Bari |
| 48/49 | Serie A | Bari | 0-2 | AC Milan |
| 47/48 | Serie A | Bari | 1-0 | AC Milan |
| 47/48 | Serie A | AC Milan | 8-1 | Bari |
| 46/47 | Serie A | Bari | 0-3 | AC Milan |
| 46/47 | Serie A | AC Milan | 0-2 | Bari |
| 45/46 | Divisione Nazionale Final Round | AC Milan | 8-0 | Bari |
| 45/46 | Divisione Nazionale Final Round | Bari | 0-2 | AC Milan |
| 42/43 | Serie A | AC Milan | 2-0 | Bari |
| 42/43 | Serie A | Bari | 3-1 | AC Milan |
| 40/41 | Serie A | AC Milan | 5-0 | Bari |
| 40/41 | Serie A | Bari | 1-3 | AC Milan |
| 39/40 | Serie A | Bari | 2-0 | AC Milan |
| 39/40 | Serie A | AC Milan | 4-0 | Bari |
| 38/39 | Serie A | Bari | 3-1 | AC Milan |
| 38/39 | Serie A | AC Milan | 2-1 | Bari |
| 37/38 | Serie A | AC Milan | 5-1 | Bari |
| 37/38 | Serie A | Bari | 2-3 | AC Milan |
| 36/37 | Serie A | AC Milan | 4-0 | Bari |
| 36/37 | Serie A | Bari | 2-0 | AC Milan |
| 35/36 | Serie A | AC Milan | 4-0 | Bari |
| 35/36 | Serie A | Bari | 0-2 | AC Milan |
| 32/33 | Serie A | AC Milan | 2-0 | Bari |
| 32/33 | Serie A | Bari | 2-2 | AC Milan |
| 31/32 | Serie A | AC Milan | 2-1 | Bari |
| 31/32 | Serie A | Bari | 2-5 | AC Milan |
| 28/29 | Divisione Nazionale | Bari | 2-2 | AC Milan |
| 28/29 | Divisione Nazionale | AC Milan | 5-1 | Bari |
Key Players in the Rivalry
Rafael Leão (AC Milan): Opened the scoring in the 2025 Coppa Italia meeting with a header, showcasing the explosive pace and aerial threat that have made him a focal point of Milan’s modern attack.
Christian Pulisic (AC Milan): Doubled Milan’s lead in 2025 with a clinical finish, continuing a long tradition of Milan attackers being decisive in this fixture.
Antonio Cassano (SSC Bari): One of the most talented players to emerge from Bari’s academy, Cassano’s flair during his time at Bari made him a constant threat against bigger clubs, and he later moved to Milan, making him one of the few players with direct ties to both sides of this fixture.
Giuseppe Sibilli (SSC Bari): Bari’s most dangerous attacking outlet in the 2025 meeting, forcing a key save from Mike Maignan and representing the kind of counter-attacking threat that has produced Bari’s upsets throughout this history.
Francesco Vicari (SSC Bari): As Bari’s defensive captain, Vicari’s leadership reflects the disciplined defensive approach that has allowed Bari to frustrate Milan on multiple occasions, including their 2010 comeback.
Lineups: August 17, 2025
AC Milan (3-5-2)
Goalkeeper: Mike Maignan
Defenders: Fikayo Tomori, Matteo Gabbia, Strahinja Pavlović
Midfielders: Alexis Saelemaekers, Youssouf Fofana, Samuele Ricci, Ruben Loftus-Cheek, Pervis Estupiñán
Forwards: Christian Pulisic, Rafael Leão
Manager: Marco Landucci (Massimiliano Allegri was suspended)
SSC Bari (4-3-3)
Goalkeeper: Michele Cerofolini
Defenders: Lorenzo Dickmann, Dimitrios Nikolaou, Francesco Vicari, Mehdi Dorval
Midfielders: Nicola Bellomo, Matthias Braunöder, Riccardo Pagano
Forwards: Gastón Pereiro, Gabriele Moncini, Giuseppe Sibilli
Manager: Fabio Caserta
The Combined XI (4-3-3)
- GK: Mike Maignan (AC Milan): World-class shot-stopping gives him the edge over Cerofolini.
- RB: Lorenzo Dickmann (SSC Bari): Energetic and reliable on Bari’s right flank.
- CB: Fikayo Tomori (AC Milan): Pace and elite European experience at the back.
- CB: Francesco Vicari (SSC Bari): Captain’s leadership and defensive solidity.
- LB: Pervis Estupiñán (AC Milan): Dynamic two-way presence on the left.
- DM: Youssouf Fofana (AC Milan): Physical presence and ball-winning ability.
- CM: Samuele Ricci (AC Milan): Composure and tactical intelligence in possession.
- CM: Matthias Braunöder (SSC Bari): Work rate and balance for Bari’s midfield.
- RW: Christian Pulisic (AC Milan): Clinical finishing and direct threat.
- ST: Giuseppe Sibilli (SSC Bari): Bari’s most dangerous attacking outlet.
- LW: Rafael Leão (AC Milan): Explosive pace and aerial threat.
