After a forgettable opening half at San Siro the game burst into life when Ignazio Abate felled Luca Paganini shortly following the restart.
Donnarumma kept out Camillo Ciano's spot-kick, though, and Piatek showed great movement in the area to end a run of six games in all competitions without a goal in the 57th minute.
Suso's exquisite free-kick put the game beyond doubt and the Rossoneri are now level on points with Atalanta, who face a daunting trip to champions Juventus later on Sunday ahead of the decisive final round of fixtures.
Milan's attempts to force the issue yielded few first-half chances. Suso's whipped right-wing cross that Fabio Borini just failed to meet preceded a scuffed volley from Tiemoue Bakayoko.
In stark contrast to a poor first half, the second provided a lively start when Borini fired wastefully over from 10 yards with only the goalkeeper to beat.
That miss appeared more costly when Abate clumsily went into the back of Paganini, but Donnarumma saved his team-mate by keeping out Ciano's effort low to his left.
Milan made the most of the reprieve when the lively Piatek turned home Borini's miscued shot from six yards.
And Suso added a touch of quality to the game with a stunning 20-yard free-kick that hit the crossbar before nestling in the goal.
Donnarumma produced another big save from Luca Valzania's well-struck volley in the closing stages, but Milan were otherwise untroubled.
What does it mean? Milan still alive in the top-four hunt
A superior head-to-head record with Atalanta may still prove crucial in Milan's bid to reach the Champions League. They have now won three in a row and failure to prevail here against a side already consigned to relegation may have been fatal for Gennaro Gattuso's side.
Donnarumma and Piatek to the rescue
Milan must have feared the worst when Gianluca Manganiello penalised Abate and showed a yellow card where perhaps a red was justified. Donnarumma came to the fore when it mattered, though, before Piatek rediscovered his predatory instincts after a lean spell.
Abate let off the hook
Abate looked like he wanted the ground to swallow him up when his miscontrol and follow-up foul on Paganini gifted Frosinone a penalty. Luckily, Donnarumma's huge frame spared his team-mate.
Key Opta Facts:
- AC Milan have won a Serie A match with a two-or-more-goal margin for the first time since February versus Empoli.
- The Rossoneri have won three league games in a row for the first time since the start of March.
- Suso has scored seven goals in the current campaign and has equalled his best tally in a single Serie A season (2016-17).
- The Spanish playmaker has been directly involved in four of Milan's last six Serie A goals (two goals, two assists).
- Piatek found the net after 564 minutes without scoring in all competitions.