Manchester City produced one of their best performances of the season to seize the advantage in their Champions League last-16 tie with a superb 3-1 win at Dynamo Kiev.
First-half goals from Sergio Aguero and David Silva put City in control at the Olimpiyskiy National Sports Complex before Yaya Toure made sure after a Vitaliy Buyalskiy reply.
Buyalskiy's effort just before the hour threatened to make life difficult for City as a side playing their first competitive match since December woke up.
But Toure made amends for missing an earlier chance with a fine curling finish in the last minute to put City in sight of the quarter-finals for the first time.
City's whole-hearted performance, amid snow flurries on a cold night, made light of their recent poor form and the controversy over their team selection at Chelsea on Sunday.
City's success also came in the face of a difficult atmosphere. The stadium was not full but the home fans were highly vocal and it was little wonder the club were so pleased UEFA lifted the order to have the game played behind closed doors.
Kiev started well as key forward Andriy Yarmolenko tested Joe Hart with a fierce shot and the England goalkeeper momentarily seemed unsure he had done enough to palm over the bar.
Buyalskiy also shot just wide after robbing Fernando, but that was one of few errors from the Brazilian who quickly established a stranglehold on midfield, winning numerous 50-50 balls in the first half.
City made their breakthrough after winning successive corners in the 15th minute, and Dynamo's lack of action perhaps became evident as a deep Silva cross was allowed to drop to Toure. The Ivorian laid off for Aguero and City's top scorer strode through some poor challenges to rifle home a powerful shot.
Aguero twice went close to doubling his tally as he shot across goal and on another occasion he teed up Toure to shoot at veteran goalkeeper Oleksandr Shovkovskiy.
Dynamo made a change after 31 minutes as Denys Garmash was replaced by Miguel Veloso and the Portugal international immediately got his head to a corner but it was deflected wide.
It was by then a rare chance for the hosts, who were caught out again as City grabbed their second after 40 minutes.
Aguero showed great control on the edge of the area before feeding Raheem Sterling out wide and his low cross gave Silva a simple tap-in.
The first half was as good as City have played for some time but Dynamo responded after the break.
Sterling felt he should have had a penalty after beating Aleksandar Dragovic in the area and then tripping over him but it was an isolated City break amid a strong spell of home pressure.
Yarmolenko had gone close with an effort across goal before Buyalskiy reduced the areas with a powerful shot from distance that bounced past Hart after taking a deflection off Nicolas Otamendi.
City had another penalty appeal turned down after Silva felt he was bundled off the ball but the visitors began to look like a team hanging on. It required a brilliant save from Hart to deny Buyalskiy a second.
But after a long period on the back foot they began to look like they had weathered the storm, with Fernandinho and Aguero forcing Shovkovskiy into a double save.
Toure missed a fine chance to make it 3-1 when he headed wide from Sterling's clever cross but he made no mistake in the 90th minute.
TWEET OF THE MATCH
"Hey Kiev, how's that winter break working out for you?" - Former Manchester City forward Rodney Marsh (@RodneyMarsh10) rubs salt into the wound of the Ukrainian side.
Oleksandr Shovkovskiy: 7 (out of 10)
Danilo Silva: 6
Yevhen Khacheridi: 6
Aleksandar Dragovic: 6
Domagoj Vida: 6
Denys Garmash: 5
Serhiy Rybalka: 7
Vitaliy Buyalskiy: 7
Andriy Yarmolenko: 8
Lukasz Teodorczyk: 6
Derlis Gonzalez: 6
Miguel Veloso: 7
Junior Moraes: 6
Yevhen Makarenko: 6
Joe Hart: 8 (out of 10)
Bacary Sagna: 7
Vincent Kompany: 8
Nicolas Otamendi: 8
Gael Clichy: 6
David Silva: 9
Yaya Toure: 8
Raheem Sterling: 8
Sergio Aguero: 8
Kelechi Iheancho: 5
David Silva. There were a number of excellent performances in the City team but Silva was highly influential playing in a role that suits him perfectly, just behind striker Sergio Aguero. He also got on the scoresheet in an impressive display.
MOMENT OF THE MATCH
Sergio Aguero's opening goal. The Argentinian finished superbly in the 15th minute - his 16th goal in his last 17 Champions League starts - and City grew in confidence from there on.
VIEW FROM THE BENCH
Manuel Pellegrini will feel his controversial decision to field a weakened side at Chelsea last Sunday was now fully justified. The team he fielded in Kiev were superb, taking early control of the game and then resisting strongly when the going got tough.
MOAN OF THE MATCH
The timing of this match was perhaps a bit harsh on Dynamo, having not played for so long because of their winter break. They showed what a dangerous side they can be but were maybe too rusty to hit their full stride. City will not be complaining but it might have been an even better game had Dynamo been at full tilt.
WHO'S UP NEXT?
Manchester City v Liverpool, Capital One Cup final (Sunday, February 28)
Oleksandria v Dynamo Kiev, Ukrainian Cup (Tuesday, March 1)