Milan raced into the lead in the third minute when Tijjani Reijnders went on a solo run past three Monza players and into the area before poking in a shot through the legs of keeper Michele Di Gregorio.
The home side doubled their lead in the 41st minute when Rafael Leao played the ball across the goal from the right and substitute Simic slid in ahead of Lorenzo Colombo to score.
Milan wrapped up all three points in the 76th minute with a wonderfully worked move finished off by another replacement, Noah Okafor.
Milan remain third in the standings but are now on 32 points and closed the gap to second-place Juventus to five points. Monza are 11th on 21 points.