Quick Facts
| Detail | Information |
| First known meeting | 1928: drew; 1929: Milan prevailed 3-1 (first Serie A encounter). |
| Most recent meeting | August 17, 2025 — Coppa Italia — Milan won 2–0 |
| Total official matches | Approx. 69–77 (sources vary slightly) |
| AC Milan wins | 46–51 depending on source |
| SSC Bari wins | 13 |
| Draws | 10–13 |
| Biggest Milan win | 9–1 (1949) — largest margin in fixture history |
| Leão goal (Aug 2025) | 14th minute — headed — assisted by Fikayo Tomori |
| Pulisic goal (Aug 2025) | 48th minute — assisted by Santiago Giménez |
| Pulisic Player of Match rating | 8.6 |
| Attendance Aug 17, 2025 | 71,061 at San Siro (Stadio Giuseppe Meazza) |
| Leão injury (Aug 2025) | Right calf strain — soleus tear — missed ~4 weeks |
| Leão’s goal significance | His 4th ever header goal for Milan (71 total goals) |
| Pulisic stats at Milan | 33 goals + 20 assists — only player in Serie A with 30+ goals and 20+ assists since 2023/24 |
| Milan formation Aug 2025 | 3-5-2 under new manager Massimiliano Allegri |
| AC Milan founded | 1899 — 7 European Cups — 19 Serie A titles |
| SSC Bari founded | 1908 — nickname: Galletti (Roosters) |
| Bari’s home stadium | Stadio San Nicola, Bari |
| Milan’s home ground | Stadio Giuseppe Meazza, Milan (San Siro) |
A Story That Doesn’t Need a Fierce Rivalry to Be Great
Some matchups in football are built on hatred. Think about the fiercest derbies — the noise, the decades of grudges, the faces twisted with passion in the stands.
The AC Milan vs SSC Bari story isn’t that.
It’s something quieter. More interesting, in a way. It’s the story of two clubs separated by geography, money, and status — who keep finding each other across nearly a century because football keeps pulling them back together.
One club is a global giant. The other is a proud southern underdog. And every time they meet, Italian football pays attention.
See also “Minnesota Vikings vs Cleveland Browns Match Player Stats & Game Breakdown“
Two Clubs, Two Very Different Worlds
Let’s start with who these teams actually are.
AC Milan was founded in 1899 in one of Italy’s wealthiest and most powerful cities. They have won the European Cup — now the Champions League — seven times. Their list of former players reads like a Hall of Fame: Maldini, Van Basten, Shevchenko, Ronaldinho, Ibrahimović. The San Siro is their cathedral.
SSC Bari was founded in 1908 in Apulia, on the heel of Italy’s boot. The south. The part of Italy that has always had to fight harder for everything. Their nickname is the Galletti — the Roosters. It suits them perfectly. Proud, feisty, never quite ready to back down even when the odds say they should.
Milan represents the summit of Italian football. Bari represents its beating, stubborn heart.
That tension — played out on pitches across Italy since the late 1920s — is why this timeline has a story worth telling.

Where It All Started: The 1920s and 1930s
The first officially recorded meeting between these two clubs dates to 1928. It ended in a draw.
The next year — 1929 — they met in the newly restructured Serie A. Milan won 3–1. That result set the tone for nearly everything that followed.
Through the 1930s, the Italian league was finding its shape. More fixtures were played. Crowds grew. Milan won more often than not. But Bari made some of those early games uncomfortable enough that the results weren’t always as easy as the table positions suggested.
This pattern — Milan winning but Bari competing — defined the early years of the fixture more than any single result did.
The 1940s: One Number Says Everything
Then came 1949. And one number that still gets mentioned whenever this fixture comes up.
Nine to one.
AC Milan beat SSC Bari 9–1. That scoreline represents the largest single margin of victory in the entire history of this fixture. It happened only once. But it remains, decades later, the result that most people reach for when describing the gulf in quality that has generally separated these two clubs.
Context matters, of course. Italian football in the late 1940s was in a rebuilding phase after World War Two. Resources were uneven. Milan’s superior backing and infrastructure gave them a structural advantage that was, in some matches, almost unfair.
But 9–1 is 9–1. That number has never been beaten.
Bari’s Moments: The 1990s Upsets That Changed Everything
The fixture became genuinely interesting again in the 1990s — and this time, it was Bari who drove that conversation.
During Bari’s spells in Serie A throughout the decade, they earned results that nobody expected. A 1–0 win at the San Siro in May 1995 is still talked about in Bari. Winning at the home of a club like Milan — on their turf, in front of their crowd — meant something that a victory against a lesser opponent never could.
Bari weren’t just competing in those years. They were occasionally winning.
These 1990s results gave the Galletti fanbase a specific kind of pride. Not the arrogance that comes from sustained success, but the quiet dignity of knowing that on certain nights, they had walked into the lion’s den and come back out standing.

The 2000s and Another Long Pause
There were unavoidable gaps in this timeline due to Bari’s financial circumstances and league standing.
Relegations meant years — sometimes a decade or more — with no fixture between the two clubs at all. That’s the nature of Italian football for a mid-table southern side. Survival in Serie A isn’t guaranteed. When you drop out, you disappear from the top-level fixtures entirely until promotion brings you back.
The Milan vs Bari meetings in the late 1990s and into the 2000s were occasional. Some seasons Bari was simply in a different division and there was no fixture to speak of.
This start-stop pattern is what makes every resumption of the fixture feel significant.
2009–2011: Bari’s Last Top-Flight Spell Before 2025
The most recent extended run of top-level encounters before the 2025 Coppa Italia clash happened between 2009 and 2011.
Bari earned their way back into Serie A and found themselves once again facing the biggest clubs in Italy. The Milan fixture produced two memorable matches during this period.
In 2009, the teams drew 0–0 at the San Siro. A goalless draw against Milan at the San Siro is not an embarrassment for Bari. It’s a result you frame on the wall.
In 2010, the teams met in Bari — and Milan won 3–2 in what was described by witnesses as one of the most competitive matches between the sides in years. Bari scored twice at home against the Rossoneri. The game had edge and drama and the kind of atmosphere that the south of Italy produces when something genuinely matters.
By 2011, Bari was relegated again. The fixture went quiet. And for over a decade, the two clubs existed in completely different footballing worlds.
August 17, 2025: The Day They Met Again
The gap ended on a Sunday evening in Milan.
August 17, 2025. Stadio Giuseppe Meazza. The Coppa Italia Round of 64 — an early-round cup fixture that, under normal circumstances, wouldn’t attract enormous attention.
Seventy-one thousand and sixty-one people were there. That alone told you something about what this fixture means when it comes back around.
The kickoff time was 21:15 local time. Massimiliano Allegri was starting his second stint in charge of Milan. His first competitive lineup in this new era lined up in a 3–5–2 formation. It was a statement about defensive solidity paired with attacking quality.
Minute 14: Rafael Leão Does Something Rare
The moment everyone in the stadium will remember came just 14 minutes in.
Fikayo Tomori picked up the ball on the right flank and whipped in a cross. Rafael Leão — one of the most dynamic wingers in European football — rose above the Bari defense and headed it home emphatically.
It was Leão’s 71st goal for AC Milan across all competitions. And it was only his fourth ever headed goal for the club.
That context matters. Leão is a dribbler, a sprinter, a finisher through movement. Heading goals aren’t his trademark. When he scored this one — decisive, clean, confident — it felt like a different dimension added to an already exceptional player.
The San Siro erupted.
Then, just minutes later, the mood in the ground shifted.
Minute 18: The Shadow Over the Victory
Leão pulled up. He went down holding the back of his right calf.
The substitution board went up almost immediately. Santiago Giménez came on in his place. The goal scorer of the 14th minute left the pitch in the 18th minute, helped by medical staff, his contribution complete but the cost unclear.
Medical evaluations later confirmed a low-grade soleus tear. Leão was out for approximately four weeks. He missed Milan’s Serie A opener against Cremonese on August 24 and multiple fixtures that followed.
For Milan, the win was real but the joy was complicated. Sometimes football gives you a goal and takes something back almost immediately.
Minute 48: Pulisic Finishes the Job
Christian Pulisic had come into this game already carrying impressive statistics. Since joining Milan in the 2023/24 season, he had become the only player in Serie A with at least 30 goals and 20 assists in all competitions — 33 goals and 20 assists, to be exact. At least five more goals than any other Milan player during that period.
Three minutes after halftime, he added another.
Santiago Giménez — the same player who had come on to replace the injured Leão — played the assist this time. A combination move between the two forwards resulted in Pulisic receiving the ball in front of the Bari goalkeeper. He turned calmly. He finished calmly.
Two to zero. That was how it ended.
Pulisic earned a Player of the Match rating of 8.6. The analysts who awarded that number were noting not just the goal but the control, the intelligent movement, and the way he organized Milan’s attacking play throughout the night.
The Milan Lineup That Night
For history and record purposes, here is the starting eleven Massimiliano Allegri selected for his first competitive Milan match:
AC Milan (3–5–2): Mike Maignan — Fikayo Tomori, Matteo Gabbia, Strahinja Pavlović — Alexis Saelemaekers, Youssouf Fofana, Samuele Ricci, Ruben Loftus-Cheek, Pervis Estupiñán — Christian Pulisic, Rafael Leão
Pervis Estupiñán, the Ecuadorian defender who had joined from Brighton, made his competitive Milan debut that night and became the first player booked in the match — a yellow card for a foul.
The back three structure was deliberate. Allegri clearly wanted defensive security while using the wing-backs to provide width and pace going forward.
What the Numbers Say Across the Whole Timeline
The full head-to-head record, compiled across all available sources, confirms what most football observers already understood.
Milan have won between 46 and 51 matches depending on which source you use for the total count of official fixtures. Bari have won 13. Draws account for approximately 10 to 13 matches.
Milan’s home record is extraordinary — over 90% of matches played at the San Siro against Bari have ended in Milan victories. Bari have been more competitive on their own turf at Stadio San Nicola, where defensive organization and home crowd support have occasionally produced genuinely close games.
Milan have scored approximately 163 to 200 goals across all meetings. Bari scored around 56.
In the Coppa Italia specifically, Milan remained unbeaten across nine encounters with Bari heading into the 2025 fixture. Their previous cup meeting was January 2011 — a 3–0 Milan win at the San Siro.
The Players Who Shaped This Fixture Across the Decades
For AC Milan, the names who appeared in this fixture across the years include some of the greatest players Italy has ever seen. Marco Van Basten played against Bari during his peak years at Milan. Andriy Shevchenko scored in fixtures against them. Ronaldinho, Zlatan Ibrahimović, Marco Simone — all passed through the fixture at different points in time.
In 2025, it was Leão and Pulisic carrying the torch.
Bari’s contributors to the timeline are less famous globally but equally meaningful locally. The players who earned the 1995 San Siro win. The scorers of Bari’s two goals in the 2010 2–3 defeat. The defenders who kept the 2009 match goalless on Milan’s home turf.
History doesn’t always belong to the names that get the biggest contracts.
What This Fixture Tells Us About Italian Football
Step back from the individual results for a moment.
The AC Milan vs SSC Bari timeline illustrates something fundamental about how Italian football works. The system creates dramatic inequality. A club from the south can be a proud, well-supported institution with real history — and still spend entire decades in lower divisions simply because of economic disparities.
When Bari does appear at the top level, they carry with them the weight of an entire region’s pride. They don’t just play for three points. They play as representatives of a part of Italy that the sport’s spotlight rarely finds.
And when they face Milan — one of the richest, most decorated clubs on the planet — the contest becomes about more than football. It becomes about whether the sport’s system can still produce a moment where that gap temporarily closes.
Sometimes it does. That’s why the 1995 win at the San Siro gets remembered. That’s why the 0–0 draw in 2009 gets talked about. That’s why even the 2–0 defeat in 2025 was watched by 71,000 people on a Sunday night in August.
Final Words
The scoreboard on August 17, 2025 read 2–0 to AC Milan. On paper, it was a comfortable win for the bigger team against a club from a lower division.
But 71,061 people showed up to watch it happen. That number tells you what the scoreline doesn’t.
The AC Milan vs SSC Bari timeline isn’t a rivalry built on hatred or geographic proximity. It’s built on the contrast that makes football meaningful in the first place — between the powerful and the resilient, between the permanent and the cyclical, between the club that always has a seat at the top table and the one that earns its place there by fighting for everything.
Bari will keep fighting their way back up. Milan will keep being Milan. And the next time these two clubs meet, Italian football will pay attention again.
That’s what a good timeline does. It doesn’t just record the past. It builds anticipation for what comes next.
FAQs
Q1: What is the overall head-to-head record between AC Milan and SSC Bari?
AC Milan dominate decisively. Across approximately 69 to 77 official matches, Milan have won 46 to 51 times depending on which matches are counted. Bari have won 13. Draws account for 10 to 13 matches. Milan have scored around 163 to 200 goals total.
Q2: When did AC Milan and SSC Bari first play each other?
Their first known meeting was in 1928 and ended in a draw. Their first confirmed Serie A meeting was in the 1929 season, which Milan won 3–1.
Q3: What was the most lopsided result in this fixture’s history?
AC Milan’s 9–1 victory over Bari in 1949 remains the largest winning margin in the fixture’s history. It has never been equaled across all official meetings.
Q4: When was the most recent match between AC Milan and SSC Bari?
August 17, 2025. AC Milan won 2–0 at the Stadio Giuseppe Meazza in the Coppa Italia Round of 64. Rafael Leão scored in the 14th minute and Christian Pulisic scored in the 48th minute.
Q5: Who scored in the 2025 Coppa Italia match?
Rafael Leão opened the scoring with a headed goal in the 14th minute, assisted by Fikayo Tomori. Christian Pulisic doubled the lead in the 48th minute, assisted by Santiago Giménez.
Q6: What happened to Rafael Leão in the 2025 match?
Leão scored in the 14th minute and was forced off just four minutes later with a right calf injury. Medical tests confirmed a low-grade soleus tear requiring approximately four weeks of recovery.
Q7: Who won Player of the Match in the August 2025 Coppa Italia game?
Christian Pulisic was awarded Player of the Match with a rating of 8.6. His control, movement, and goal were praised as the key contributions of the night.
Q8: How many goals has Pulisic scored since joining Milan?
As of the August 2025 match, Christian Pulisic had scored 33 goals and provided 20 assists in all competitions since joining Milan in the 2023/24 season. He is the only player in Serie A with at least 30 goals and 20 assists in that period.
Q9: Has SSC Bari ever beaten AC Milan at the San Siro?
Yes. Bari secured a famous 1–0 win at the San Siro in May 1995 — one of the most celebrated results in Bari’s history. Away wins for Bari against Milan are rare but not impossible.
Q10: Why do these clubs not play each other every season?
SSC Bari spends significant periods in Serie B or Serie C due to relegations and financial pressures. The fixture only happens when Bari earns promotion to Serie A or when a Coppa Italia draw brings them together.
Q11: What formation did Milan use in the 2025 Coppa Italia match?
Massimiliano Allegri deployed a 3–5–2 system. The starting lineup included Mike Maignan in goal, with Tomori, Gabbia, and Pavlović at the back, and Pulisic and Leão leading the attack.
Q12: How many people attended the August 2025 Coppa Italia match?
71,061 supporters attended the match at Stadio Giuseppe Meazza — a remarkable turnout for a first-round Coppa Italia fixture against a lower-division opponent.
Q13: What does this fixture represent in the context of Italian football?
It represents the structural contrast in Italian football between a consistently elite northern club and a cyclical southern club that must fight its way back to the top level. When they meet, the match carries symbolic weight beyond the three points — it represents the competition between economic advantage and regional pride.
Explore more, learn more, and think deeper with Theory Magazine.
