Gabriel Jesus marked his return with a sublime strike from a tight angle as Manchester City beat Olympiakos 3-0 to make it three wins from three matches in Champions League Group C.
City started well but after Ferran Torres continued his run of scoring in every Champions League game this season, converting from Kevin De Bruyne's fine through ball, they once more struggled to turn possession dominance into multiple goals.
Ederson was never really tested, although an errant pass in his own area from Phil Foden gave an opportunity for Mathieu Valbuena to score, but he flashed his effort wide.
Jesus, who has not played since getting injured in September, rifled home nine minutes from time after coming off the bench to ensure City picked up all three points.
Joao Cancelo put gloss on the scoreline with a precise curling low effort from 25 yards in the 90th minute.
City are three points clear of second-placed Porto, who won 3-0 against Marseille.
Talking point - Jesus return at perfect time for Pep
It is unsurprising City have had issues in front of goal in the Premier League with Sergio Aguero working his way back after a knee injury, and then picking up a hamstring strain, but it took just 12 minutes for Gabriel Jesus to show he can help turn around their fortunes.
From a side that has averaged over 100 league goals a year over the past three years, City have managed just a goal-and-a-half a game domestically and, as has been typical for them this year (though not previously in Europe), after scoring a goal their domination of play gradually ebbed away and they came under pressure.
Gabriel Jesus celebrates scoring for Manchester City
Image credit: Getty Images
Enter Jesus. He came close to getting on the end of a Torres through ball, then set up De Bruyne for an effort at goal before turning a 40-60 through ball into his advantage, muscling Rafinha off the ball and shooting at goal.
And then came the coup de grace. Most players would not shoot from the angle that was akin to Marco van Basten's in the 1988 European Championships and, though not a ridiculous volley like the one scored by the Dutchman, it still took excellent execution to beat the previously impressive Sa at his near post.
Jesus may not start against Liverpool on Sunday, but Pep Guardiola will be delighted to have him at his disposal for this game and beyond.
Man of the match - Kevin De Bruyne
There's little to say about the Belgian that hasn't been said before.
Playing a little deeper than usual his passes were just as penetrative as ever and he even showed himself adept at defending, blocking a shot from Bruma in the second half, suggesting if he wanted he could be a fine No 6.
Not since Zinedine Zidane has there been a player who made passing the ball an art like he does. The first two goals came after stylish passes from De Bruyne, with Torres' in particular coming after the most effortless, yet measured, left-footed volley through ball.
Only the couple of shots he could have done better with - blazing one over the bar, and the other allowing Sa to save - took a slight shine off a fine performance.
Man City: Ederson 7; Walker 6, Stones 6, Ake 6, Zinchenko 6; De Bruyne 8*, Gundogan 6, Foden 6; Ferrán Torres 7, Mahrez 6, Sterling 7.
Subs: Jesus 8, Rodri 6, Silva 6, Cancelo 7, Nmecha 6.
Olympiakos: Jose Sá 7; Rafinha 7, Semedo 6, Cisse 6, Holebas 6; M'Vila 6, Bouchalakis 5, Camara 6; Randjelovic 5, Valbuena 6; El-Arabi 6.
Subs: Bruma 7, Pepe 6, Masouras 6, Koka 6, Soudani 6.
13' GOAL! Torres puts City in front. A lovely ball from De Bruyne with the Belgian's perfectly timing a left foot side-footed volley behind the Greek side's defence and Torres scores in his third successive Champions League match
33' OFFSIDE! Mahrez's ball finds Sterling drifting into the centre from the left wing and at the second opportunity he puts it into the net but he is offside.
55' What a chance for Valbuena! Foden plays a lazy ball towards Stones back inside City's six-yard box with Ederson out of goal but from a tight angle, with the England defender closing on him, the midfielder flashed wide.
81' GOAL! What a finish! It was a neat ball from De Bruyne that gave him a chance to run at Cisse inside the right hand side of the penalty area but after beating the Olympiacos defender he still had a lot to do before firing an unstoppable effort just inside the angle of crossbar and post from the narrowest of angles.
90' GOAL! Superb third for City. Cancelo curls a low effort home from 25 yards.