AC Milan beat Empoli 3-1 in what turned out to be a thrilling contest at the Stadio Carlo Castellani on Saturday night.
The Rossoneri only took the lead with 10 minutes to go but there were then three goals in stoppage time.
Milan made an incredibly fast start to the game and they were left wondering how they did not score in the first 10 minutes. There was a number of favourable openings for the Rossoneri but the best chance fell to the feet of Leao who somehow saw his low shot saved from six yards out.
Davide Calabria looked particularly willing to get forward in the early stages, as Theo Hernandez normally would from the left wing. That began to open up spaces though and Empoli posed a real threat at the other end.
Ciprian Tatarusanu had to make multiple saves in a short space of time on his first start of the season to try and keep various efforts out from the Empoli forwards.
Milan missed their second superb chance of the game on the 20-minute mark as Alexis Saelemaekers got the ball with acres of space in the box but put his low shot wide of the far post. He had another chance with a shot from distance shortly after which was parried away by Guglielmo Vicario.
Milan continued to be the dominant team and Vicario did well not to bring Giroud down in the box before the Frenchman chipped the ball across only for Leao to not quite reach it to head home.
The Rossoneri momentum was interrupted when Saelemaekers was forced off with what seemed to be an impact hip injury after half an hour. He was replaced by former Empoli midfielder Rade Krunic.
There was then a huge flashpoint as Empoli broke forwards and a shot hit Fode Ballo-Toure in a mixture of his midriff and his right arm whilst he was in the penalty area. Empoli wanted a spot-kick but it was not given upon VAR review.
In that same move, there was a bigger issue for Milan as Calabria pulled up with what seemed to be a hamstring injury. The Italian had to be stretched off and joined the long list of players out injured for the Chelsea match on Tuesday. He was replaced by Pierre Kalulu.
Leao looked as though he was set to snatch the lead for Milan after an excellent run just before half time but he squandered the chance and then the flag was raised for an offside.
At the start of the second half, it was Empoli who grabbed the initiative and had a couple of very presentable chances with Marko Pjaca and Nicolas Haas looking very dangerous. Martin Satriano also had a low shot go just wide of the post as Milan struggled to get out of their half.
Milan’s first real chance of the second half came when Giroud saw his free kick hit the top of the crossbar just before the hour mark. It would have been a superb striker against the run of play.
Another free kick a few minutes later almost gave Milan the lead as Tonali’s powerful low drive hit a defender and Vicario had to readjust quickly and push it superbly round the post.
On the 69th minute, Giroud got on the end of a long ball with a perfectly timed run and was through on goal before Luperto managed to put a challenge in and the ball ended up in the hands of Vicario.
The injury situation went from bad to worse for the Diavolo as Kjaer succumbed to an injury suffered earlier in the game and signalled that he needs to come off. Sergino Dest came on at right-back and Kalulu moved back into the centre with Tomori.
Giroud also made way at the same time for Ante Rebic whilst Brahim Diaz replaced De Ketelaere whose influence waned as the game went on.
Empoli then missed the chance of the game as Nedim Bajrami ran through on goal but couldn’t get his finish past Tatarusanu who made himself big. The Empoli really should have scored. That was swiftly followed by a counter-attack and a Diaz shot which was deflected wide.
Milan finally got their breakthrough in the 79th minute and it came from Rebic who was making his first appearance since late-August. A throw-in was taken quickly to Leao who worked his way into the box before laying it across goal for Rebic to tap in.
In stoppage time, Milan hearts were broken. A free kick was given on the edge of the box and Bajrami stepped up and struck it excellently into the top corner to make it 1-1. There were suggestions that Tatarusanu could have done better but it was a superb strike.
The drama did not stop there at all as Ballo-Toure got his first senior goal of his career in the 94th minute to make it 2-1 to Milan, poking in Krunic’s headed pass immediately after the equaliser.
The win was then crowned in the 96th as Leao was rewarded for his hard work by running through and chipping the ball over Vicario with the final kick of the game.
Milan now climb to third in the Serie A table thanks to that three points.