Milan stole the advantage in the ninth minute when Boateng was allowed too much space on the edge of the box and the midfielder responded by drilling in a low strike.
Adam Maher was inches away from equalising midway through the first half but his long-range effort was saved by Christian Abbiati.
The hosts almost doubled their lead just before half time when a flowing passing move ended with Stephan El Shaarawy hitting a shot against the underside of the crossbar from 10 yards out.
© Getty Images
PSV should have pulled a goal back just after the break but Georginio Wijnaldum was denied by Abbiati, who pulled off a strong save to keep out the close range effort.
The Dutch side were made to pay just a few minutes when Philippe Mexes found space during a corner to head the ball into the path of Mario Balotelli, and the former Manchester City poked in his side's second of the night.
PSV's challenge looked weak following Balotelli's goal and Milan took control of the contest late on.
Boateng put the icing on the cake with 13 minutes left in the game by stroking the ball into the bottom corner for his second goal of the evening.