Ukrainians have been waiting for a big missile attack for months, worried that it could deal a new blow to the hobbled energy system and cause long blackouts as winter sets in.
Air defences intercepted two incoming cruise missiles, two ballistic missiles and 37 drones across the country on Wednesday morning, the air force said.
No casualties or major damage were reported in Kyiv.
"Putin is launching a missile attack on Kyiv right now," Andriy Yermak, the head of the president's office, wrote on Telegram.
Russia has not struck the Ukrainian capital with missiles since August 26. (AP PHOTO)
Falling debris came down in the region outside Kyiv, injuring a 48-year-old man and causing a fire at a warehouse, the head of Kyiv region's administration said.
Kyiv has faced Russian drone attacks almost nightly for weeks.
City mayor Vitali Klitschko said a drone was still flying over central Kyiv in the morning.
"Explosions in the city. Air defence forces are working. Stay in shelters!" the Kyiv city administration wrote on Telegram.
About 100 residents took shelter in the central metro station Universitet, including small children sleeping on yoga mats and elderly women sitting on fold-out chairs.
Some complained of a lack of sleep from the regular drone attacks, which trigger the air raid alert that sounds across the city and buzzes on phones.
"The mornings are totally ruined. I started college in September and every morning has been ruined by the bloody Russians. I cannot sleep, cannot think and I drink energy drinks all the time," said Mykyta, a teenager hugging his dog in the metro.
Russia targeted Ukrainian power facilities with strikes earlier this year, causing blackouts. The situation has since improved, but officials believe the Kremlin may plan to attack the grid again soon.
Andrii Kovalenko, a senior official at the National Security and Defence Council, warned Russia was ready to conduct another "massive" attack and had accumulated a large number of cruise missiles.
US Secretary of State Antony Blinken is in Brussels for talks on Ukraine with NATO chief Mark Rutte. (AP PHOTO)
After Wednesday's strike, power grid operator Ukrenergo said it would limit electricity supply for businesses due to "significantly" lower power imports and lower generation.
The last time restrictions on power supplies were imposed on both businesses and households was after a big Russian missile and drone attack in late August.
It was unclear whether the new restrictions were linked to the latest attack.
Ukraine's largest private power generator and distributor DTEK said the restrictions would apply to Kyiv, the surrounding region and the regions of Odesa, Dnipro and Donetsk.
Despite regular drone attacks, Russia has not struck Kyiv with missiles since August 26 when it launched a massive attack across the country that officials said deployed more than 200 drones and missiles.
That attack killed seven people, Ukraine said.
The attack on Wednesday came as US Secretary of State Antony Blinken met NATO Secretary-General Mark Rutte in Brussels as the outgoing Biden administration seeks to cement support for Ukraine before Donald Trump's return as president.
President-elect Trump, who has questioned US military support for Ukraine, says he will quickly end Russia's war without saying how, raising concerns among US allies he could try to force Kyiv to accept peace on Moscow's terms.
President Joe Biden is hoping to boost assistance to Ukraine before he leaves office on January 20 as Russia makes gains along a more than 1000km front line.
Blinken is expected to discuss in Brussels how US allies can take greater leadership over support for Ukraine with Washington's future role uncertain.