Sergio Aguero scored twice, Leroy Sane netted against his former club and Raheem Sterling, Bernardo Silva, Phil Foden and Gabriel Jesus also struck as Manchester City beat Schalke 7-0 at the Etihad Stadium to cruise to a 10-2 aggregate win and reach the Champions League quarterfinals.
City, 3-2 up from the first leg in Gelsenkirchen, began brightly and Sterling, fresh from his hat trick against Watford, whipped in a cross that Schalke keeper Ralf Fahrmann claimed.
But the visitors, struggling in the Bundesliga, were not sitting back in the early minutes and Yevhen Konoplyanka and Breel Embolo combined dangerously before City cleared.
Guido Burgstaller failed to find Konoplyana in a dangerous position and then Kyle Walker and Sterling set up Aguero, who hit the outside of the post from close range when he should have made it 1-0.
Aguero's header from Zinchenko's cross was held by Fahrmann -- but after 32 minutes City broke through when Jeffrey Bruma impeded Bernardo Silva and, after VAR had confirmed the penalty decision, Aguero stepped up to score.
Former Chelsea defender Bruma was booked, and his side were almost two down moments later when Aguero sent a strike too close to Fahrmann.
But after 38 minutes Aguero struck again, stabbing home from inside the six-yard box after Gundogan and Sterling had combined, the decision approved by VAR after a review of a possible offside.
The lengthy delay -- almost three minutes -- was booed by home fans, but they were cheering again after 42 minutes when Sane struck with a low shot after Zinchenko's through ball.
Sterling almost made it four before the break, Fahrmann saving, and the winger set up Sane for an attempt that was blocked in the opening moments of the second half.
Danilo was booked for fouling Embolo and Sane was soon in the action again, shooting wide before having a goal from David Silva's pass ruled out for offside.
But -- after another lengthy VAR review for a potential offside -- City made it four when Sane bent a fine ball to Sterling, who thumped past Fahrmann to put City 4-0 ahead after 56 minutes.
Guardiola made a double substitution soon afterwards, Foden on for David Silva and Aguero replaced by Jesus, and his side had a fifth goal after 71 minutes, Sane finding Bernardo Silva who steered in a classy finish.
The home side followed that with another change, Fabian Delph replacing Aymeric Laporte, and Foden made it 6-0, skipping round Fahrmann to score after Sane had found a fine pass in the 78th minute.
The Schalke keeper stopped his side's evening from becoming even worse, parrying Foden's shot from outside the box, but was guilty moments later when Jesus' curling shot went through his dive to make it seven.