First-half goals from Sergio Aguero and David Silva put City in control 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.
Manchester City manager Manuel Pellegrini said: “I’m very happy because it is a very good result.
“It is not finished but playing away and having a two-goal lead is very good. The team played well and had lots of chances. Maybe when it was 2-1 we had moments of doubt, but then we got the third goal.
“Is the tie settled? No, it is important in football to never think it is finished. But to have that third goal gives us more confidence for the second leg.”
City captain Vincent Kompany added: “The performance was good, with a lot of high pressing, 3-1 is a good result and we are happy with it.
“We are going into the second leg with a fairly good chance to go through, which has not been the case before. We looked like a team that was hungry for success tonight.”
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.
Shovkovskiy, Danilo Silva (Makarenko 66), Khacheridi, Dragovic,Vida, Rybalka,Yarmolenko, Garmash (Veloso 31), Buyalsky, Gonzalez,Teodorczyk (Junior Moraes 46).
Rudko, Petrovic, Korzun, Gusev.
Hart, Sagna, Kompany, Otamendi, Clichy, Fernando, Fernandinho, Silva, Toure, Sterling, Aguero (Iheanacho 90).
Caballero,Zabaleta, Kolarov, Mangala, Demichelis, Manu Garcia.
Antonio Miguel Mateu Lahoz.