The Rossoneri cruised to a two goal lead in the first half through Alexis Saelemaekers and Hakan Calhanoglu, before Takehiro Tomiyasu pulled one back for Bologna with a vicious strike moments before half-time.
Ismael Bennacer raced through to extend Milan’s advantage after the interval however, and Ante Rebic extended the lead with well-taken goal soon after. Deep into stoppage time, Davide Calabria completed the rout with a smart finish.
Milan looked to continue their recent impressive form by dominating the early passages of play and were rewarded with a goal after 10 minutes.
Rebic worked space for himself out wide before backheeling Theo Hernandez clear, and the Frenchman’s low cross was dummied by Zlatan Ibrahimovic en route to Saelemakers in the box. The Belgian made no mistake with his first time effort, slotting home with ease.
The goal arrived shortly after Hernandez had come close from a lung-bursting charge and low strike, whilst Rebic laid a Ibrahimovic through ball into the path of Calhanoglu, who forced a smart stop, as Milan showed their attacking intent.
Midway through the first half the Rossoneri doubled their lead, courtesy of sloppy goalkeeping. Franck Kessie’s through ball for Hernandez was well cut out by Riccardo Orsolini to Lukasz Skorupski, but the Polish goalkeeper then blasted the ball straight to Calhanoglu, who gleefully pounced on the error to score.
Soon after, the Diavolo came within inches of putting the game beyond sight, but Kessie’s low effort cannoned off the post.
Milan continued to dominate the first period and looked comfortable with their lead, until Bologna halved the deficit on the stroke of the interval through an unstoppable Tomiyasu strike. The centre-back was found by Roberto Soriano and stepped away from Alessio Romagnoli before blasting into the top corner.
Yet the hosts extended their lead almost immediately after the restart, as Bennacer surged forward from midfield to break into the box and side-foot beyond Skorupski for his first Milan goal.
The rampant Rossoneri were lethal in front of goal and Rebic made it four soon after, latching onto Ibrahimovic’s flick to drill into the roof of the net on the turn.
Milan continued to press and Hernandez came within inches of getting on the scoresheet, as he burst forward and unleashed a low strike that whistled past the far post.
At the other end, a clever Andrea Poli flick created space for Nicola Sansone in the box and his cross was almost met by Orsolini at the back post, but Romagnoli reacted quickly to provide a crucial clearance.
Meanwhile, a weak Simon Kjaer clearance forced Gianluigi Donnarumma to handle a backpass to prevent Andri Baldursson from tapping in, and the goalkeeper produced a smart block on Federico Santander’s drive from the resulting indirect freekick.
Bologna’s attempts to cut into the deficit proved futile however, as Milan regained control and came close to a fifth goal through substitute Rafael Leao’s wicked shot from range, but Skorupski was equal to it.
The Rossoneri secured their biggest win of the season in stoppage time, as Leao got in behind and squared the ball to Calabria for the full-back to slot home. The victory saw Milan leapfrog Napoli into sixth and close in on Roma.