Just over 16 months after netting four times against the San Siro side, the 20-year-old struck a sensational treble to heap more misery on Pippo Inzaghi's struggling side
The 20-year-old striker scored all four goals in the corresponding fixture last season as Sassuolo won 4-3 and was the thorn in Milan's side once again on Sunday.
Berardi opened the scoring with a goal that owed as much to an error from Diego Lopez as his own quality, the ball squirming away from the goalkeeper before being adjudged to have crossed the line.
His second was more clear cut as he raced away from the static Milan defence to volley past Lopez, but Giacomo Bonaventura ensured the visitors remained in the game with his fifth of the season.
Alex then drew Milan level early in the second half as Andrea Consigli failed to collect Suso's right-wing cross, but soon after Inzaghi's side were down to 10 as Bonaventura was dismissed for a second booking.
Eventually Sassuolo's extra man paid dividends as Berardi secured all three points with a close-range finish, completing a league double over Milan, who also had Suso sent off in stoppage time.
Milan edged a cagey opening with Keisuke Honda particularly lively on the right, but despite their early pressure the visitors found themselves behind after 13 minutes – albeit in controversial circumstances.
Berardi's speculative effort from 25 yards spun out of Lopez's hands and trickled towards the net, with the assistant behind the goal deeming that the goalkeeper was unable to prevent the ball from crossing the line as he scrambled to collect it.
Milan continued to enjoy a greater share of possession, but their defensive frailties returned just after the half hour as Berardi doubled Sassuolo's lead, the striker beating the offside trap before volleying past Lopez.
That goal finally got a response from Milan – much to the relief of Inzaghi – as Bonaventura halved the deficit after 33 minutes, the Italy international cutting in from the right and poking past Consigli after beating two defenders.
And Mattia Destro should have sent the visitors into the break level, but the on-loan forward headed wide after Consigli parried Honda's shot.
They did not have to wait long for the equaliser, though, as Alex restored parity six minutes after the restart, the former Chelsea defender climbing above Consigli to head home half-time substitute Suso's cross.
Milan may have been level but they were not making it easy for themselves as Bonaventura was shown a red card just before the hour, the forward receiving a second yellow card for handball.
Sassuolo put their man advantage to good use as Berardi, moments after being denied by a superb Lopez save, sealed victory with a poacher's finish, the striker poking under the goalkeeper from a Simone Zaza flick.
Suso's red card in stoppage time compounded a bad day at the office for Milan and they could yet finish in the bottom half.