Davis Silva opened the scoring for City in the third minute after receiving a pass from Edin Dzeko before Micah Richards added a second prior to the 20-minute mark with help from a Fernandinho through ball.
A few minutes later and City were three to the good thanks to Aleksandar Kolarov’s strike from the left side after being fed by Stevan Jovetic and then it was a four and five-goal lead after Dzeko scored twice in quick succession.
The first came as a tap-in from a Jesus Navas pass before he managed to control the ball with his chest and volley home on the turn to make it 5-0 by the 36th minute.
Milan started their recovery a minute later with Stephan El Shaarawy opening their account before he followed up with a quick second goal, scoring unmarked, which the City players felt should have been called offside.
There was one more goal in a frantic first half, this time through Andrea Petagna, but the score ended 5-3 at full-time allowing City to book a spot in the final against Bayern Munich on Thursday.