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 defenses intercepted two incoming cruise missiles, two ballistic missiles and 37 drones across the country, 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.
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 defense forces are working. Stay in shelters!" the Kyiv city administration wrote on Telegram.
Around 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.