Brendan Rodgers' side continued their fine form on their US tour as the Serie A outfit were defeated for the third successive match
Goals from Joe Allen and Suso at the Bank of America Stadium saw Brendan Rodgers' side to their win despite Rickie Lambert missing a penalty in Charlotte.
It saw Filippo Inzaghi's side finish the pre-season tournament without a point, while Liverpool were already assured of a place in Monday's final against Manchester United.
A weakened Liverpool controlled possession in the opening exchanges as Milan kept numbers behind the ball.
The pressing of Rodgers' men would lead to the opening goal for Allen in the 17th minute.
The former Swansea man dispossessed Michael Essien before driving into the area and striking the post with his shot.
Raheem Sterling's effort from the rebound was palmed away by Christian Abbiati, but Allen was on hand to tuck away a finish to make it 1-0.
The Premier League side had a chance to double their advantage in the 28th minute.
Sterling was brought down in the area and Lambert, who scored 34 straight penalties at Southampton, saw a poor spot-kick saved by Abbiati to the goalkeeper's left.
Milan settled into the encounter after the penalty save, but were unable to create clear-cut chances.
Inzaghi's men were much-improved early in the second half before the likes of Steven Gerrard, Philippe Coutinho and Emre Can were introduced by Rodgers on the hour-mark.
Milan goalkeeper Gabriel and defender Mattia De Sciglio were involved in a heavy collision during the second half, leading to the latter's substitution.
Neither team looked particularly threatening in the final stages before Suso's curling finish in the 90th minute.
Coutinho found space down the left before poking a pass to the Spaniard, who found the bottom corner from 20 yards.
While Liverpool prepare for the final, Milan head to Texas to face Chivas looking to find some form.