At the end, a 1-0 victory was theirs, but it came by the skin of their teeth against a team forced to play down a man for 78 minutes. Indeed, if not for a fractional offside call, Bologna would have equalized.
There is no way to overemphasize how important a win was for the Rossoneri. The bare minimum to regard this season as a success is to qualify for Europe for the first time in three seasons. Milan have two ways to get there. The most direct way is to beat Juventus in the Coppa Italia final on May 21. If they fail to beat the now-five-time defending champions of Italy, though, they can still get into the UEFA Europa League by finishing sixth in Serie A.
Until the end of April, both options were open to them, but their hold on sixth had been slipping for a while. Manager Sinisa Mihajlovic lost his job after going the entire month of March and the beginning of April winless, but the team's form seems to have reached its nadir under his successor, Cristian Brocchi.
Before Saturday, Milan's previous three games were against teams placed 17th, 20th and 19th respectively. The results of those games? A goalless draw against Carpi, an embarrassing 2-1 loss to relegated Verona and a 3-3 draw against Frosinone that twice saw the team down by two goals.
That result put Milan a point behind Sassuolo for that all-important sixth position in the table—and made their final two games against Bologna and Roma must-wins.
Striker Carlos Bacca praised his team after Saturday's match, telling Mediaset Premium (h/t Football Italia) Milan "played an intelligent match." He sounded like he's buttering his teammates up a bit because it certainly looked in the opening moments like the pressure was getting to them.
Within five minutes, Bologna had a strong penalty appeal waved away by referee Daniele Doveri. Mattia De Sciglio grabbed Juan Zuniga's shirt as he went for a Matteo Brienza cross, but the Colombian's pleas for a spot-kick went unheeded. A minute later, Jose Mauri was booked after shoving Amadou Diawara during a scuffle after a fight for the ball.
It was the first of four bookings for Milan players, and Mauri was lucky not to get a second after 18 minutes, when he crashed into Brienza.
If he had, he would have wasted a precious advantage for Milan, who had gone a man up after only 12 minutes, when Diawara, who was also booked in the fracas with Mauri, caught Riccardo Montolivo on the shin and duly received his marching orders.
But rather than taking the extra man and stepping on Bologna's throat, Milan seemed almost incapable of capitalizing on their advantage. For much of the remainder of the first period, they cycled the ball around in the Bologna end but found it impossible to break the Rossoblu down. Most attacking moves ended in overhit crosses, long balls that were too long or shots that never came close to the target.
That changed five minutes from halftime, when a long clearance from goalkeeper Gianluigi Donnarumma flew over everyone and found Luiz Adriano. When the Brazilian breezed past the few defenders around and into the box, he was taken down by 'keeper Angelo Da Costa. Bacca slammed the resulting penalty into the back of the net via Da Costa's fingertips.
Milan came out of the locker room the better team in the second half, but they couldn't make their pressure pay. Bacca overhit an early pass to Adriano, and later Milan's No. 9 was closed down before he could fire after the Colombian hit him with another pass. There were chances, but none that were dangerous enough to truly pressure Da Costa.
But even on the ascendancy, the Rossoneri looked like they couldn't keep their heads. Andrea Bertolacci was booked for a cynical dive less than a minute after coming on as a sub, and on the hour, Davide Calabria was booked for a badly timed sliding challenge.
It was around that time the hosts got back into the game. Sergio Floccari came close with headers not long after the hour mark, and after Anthony Mounier came on as a sub with 10 minutes left, he immediately created a dangerous situation that was only relieved when he overshot Emanuele Giaccherini with a cross.
Milan still had their fair share of attacking moves. Adriano in particular saw three chances go begging in the last 10 minutes—and it nearly cost his team. One minute from time, Adam Masina tapped a flicked-on corner into the net for what looked to be a crippling equalizer. But the assistant had his flag up, and replays showed that while the decision was extremely tight, it was also correct.
Milan saw out the rest of the game and took the points back to the San Siro, but the win gave little clarity as to whether they'll be able to regain sixth place.
All of the pieces seemed to fall into place for Milan on Saturday. They had a man advantage for almost 80 minutes, but they looked totally incapable of making that advantage pay. A lack of creativity has been one of Milan's weaknesses, and without Giacomo Bonaventura, that weakness has only been magnified.
Compounding the problem is the team's lack of composure, both in front of goal and in the tackle. Mauri's scuffle with Diawara was immature, and his lack of caution after that incident risked a second yellow. They weren't able to keep their heads in attack, either scuffing chances or failing to find the final ball to set them up.
And this was against Bologna. Their next league game—one that will decide their European ambitions—is against AS Roma. The Giallorossi haven't lost in the league since January 24, when they went down 1-0 at the Juventus Stadium. Since then, their only setbacks have been a pair of 2-0 losses to Real Madrid—and they played much better in those games than the score suggested. Otherwise, Luciano Spalletti has led the team to 12 wins and three draws in 15 games, including eight straight victories.
Milan played Roma to a 1-1 draw in January and deserved to win after dominating the second half. But that was Rudi Garcia's Roma. Spalletti's team is a different animal—one Milan may not be able to handle. That means they'll likely need Sassuolo to stumble—either against Frosinone on Sunday or Inter Milan the following week—if they want to gain sixth place.
That's the most likely avenue back into Europe. Facing Juventus is a daunting task—one they've failed twice this season. But Milan are heading into their showdown at a limp, and if Sassuolo manage to win both of their remaining games, anything they do will be moot.
European competition, considered a near-certainty two months ago, is in danger of slipping away—and Milan may not be equipped to stop it.