Bernardo Silva and Gabriel Jesus struck as Manchester City put one foot in the Champions League quarter-finals with a comfortable 2-0 win over Borussia Monchengladbach.
The impressive Joao Cancelo created both goals with deft crosses in each half as the Premier League leaders outclassed their German opponents at Budapest's Puskas Arena.
The victory in the last-16 first-leg encounter was City's 19th in succession in all competitions.
It has been a formidable run and manager Pep Guardiola now looks assured of another crack at the quarter-finals - the stage which has proved his side's undoing in the past three seasons.
Guardiola decided not to start Kevin De Bruyne and Sergio Aguero after their recent fitness issues, naming both on the bench, but such are City's confidence levels there is no urgent need for either player.
They were comfortable and fluid from the outset in the Hungarian capital, fizzing the ball around and giving the German side little time on the ball.
The only frustration may have been the lack of clear-cut chances created, but Monchengladbach rarely looked capable of punishing them.
Phil Foden had their first serious opportunity with a low long-range shot that was saved by Yann Sommer while Raheem Sterling broke into the box only to be thwarted by a fine Ramy Bensebaini tackle.
City were given a warning when Stefan Lainer got behind the defence but his ball for Alassane Plea was cut out by Kyle Walker.
City felt they should have had a penalty when Sterling went down under a challenge from Bensebaini but nothing was given.
Walker's presence in the side at right-back meant the influential Cancelo was switched to the left and it was from the former Juventus man, who typically pushes into the midfield, the opener came after 29 minutes.
Monchengladbach gave the ball away from the edge of the area and almost invited Cancelo to run at them. He first headed left but then cut inside and delivered a superb curling cross to the back post where Silva rose to head past Sommer.
Cancelo threatened a second as he flashed a shot over the bar and Foden also missed the target while Matthias Ginter made a timely intervention to cut out a Walker cross.
City's dominance continued after the break and Jesus should have scored the second after an error by Bensebaini but the left-back recovered to tackle the Brazilian.
There was an awkward moment when, out of the blue, Plea managed to flick a shot narrowly wide of City's goal with his back towards goalkeeper Ederson but it was a rare opportunity.
City responded immediately and doubled their lead after 65 minutes, with Cancelo and Silva again combining, this time to tee up Jesus.
Cancelo picked out Silva with another deep cross but this time his fellow Portuguese headed back across for Jesus to slide in and apply the finishing touch.
A similar move then saw Ilkay Gundogan nod down a floated Cancelo cross but Foden shot over.
With the job done, City eased off in the closing stages and Aguero was given a late run-out, entering the fray with 10 minutes remaining for his first appearance since 3 January.