Milan pushed on in the battle for a top-four Serie A finish as Ismael Bennacer and Theo Hernandez scored in a 2-0 win over Lazio at San Siro.

Stefano Pioli's side were in full control from the off, though Lazio were masters of their own downfall for the opening goal as Marcos Antonio's error allowed Bennacer to bundle home.

Hernandez doubled Milan's advantage before the break with a terrific solo effort, helping the Rossoneri to fourth in Serie A ahead of Inter's crucial clash with Roma later on Saturday.

However, Milan's victory was marred by the sight of star forward Rafael Leao limping from the field early on, with the first leg of their Champions League semi-final tie against Inter just four days away.

Having rested several players for Wednesday's draw with Cremonese, Pioli may have regretted naming a more familiar lineup when Leao was withdrawn just 11 minutes in – the forward appearing to suffer a groin injury.

Yet Milan made light of his absence as Bennacer pounced on a Lazio mix-up, combining with Olivier Giroud before volleying into the ground and over Ivan Provedel.

Milan doubled their lead from a lightning break 12 minutes later. Hernandez received the ball from Mike Maignan near his own penalty area before driving forward and lashing home from 20 yards via a slight deflection.

Lazio failed to record a single shot on target before the break, and Milan continued to dominate after the interval as substitute Malick Thiaw powered a header over from Sandro Tonali's corner.

Milan were denied a late third when Ante Rebic slotted home from an offside position, but it was of little consequence as they warmed up for Wednesday's Champions League derby in style.