Ukraine’s Prime Minister Volodymyr Groysman has accused Russia of being behind the killing in Kiev of the Russian journalist Arkady Babchenko.
“I am confident that the Russian totalitarian machine did not forgive him his honesty and principled stance,” the prime minister posted on Facebook.
A Kremlin critic, Babchenko was gunned down outside his apartment on Tuesday.
Russia has called for an investigation but said “bloody crimes” had become routine for the “Kiev regime”.
Relations between Russia and Ukraine remain tense following Russia’s annexation of Crimea in 2014 and the seizure of parts of eastern Ukraine by pro-Russian forces.
Babchenko, 41, was found bleeding at the entrance to his block of flats by his wife and died in an ambulance.
He was reportedly shot several times in the back.
Ukrainian lawmaker Anton Herashchenko said the journalist had gone out to buy some bread, and that the killer was waiting for him.
Kiev police chief Andriy Kryshchenko told local media they suspected Babchenko was killed because of his “professional activities”.
In his last Facebook post just hours before the attack, Babchenko recalled a lucky escape four years ago – exactly to the day.
He wrote that he had planned to fly with Ukrainian soldiers on a helicopter to the war zone in Ukraine’s east.
He was not allowed on board, because there was not enough space. The helicopter was shot down by pro-Russian rebels, leaving 14 people dead.
“I was lucky. A second birthday, it turns out”, Babchenko wrote.
In his reaction, the Ukrainian prime minister referred to Babchenko’s last Facebook post.
“This is the last post of Arkady Babchenko. Ten hours ago he wrote about his second birthday. And then they killed him.
“I am confident that the Russian totalitarian machine did not forgive him his honesty and principled stance. He was a true friend of Ukraine who told the world the truth about Russian aggression.”
Mr Groysman added: “The killers should be punished.”
Russia’s foreign ministry said in a statement: “We demand that the Ukrainian authorities make every effort to promptly investigate.”
It added: “Bloody crimes and total impunity had become routine for the Kiev regime”, while offering condolences to Babchenko’s family and friends.
While studying law in Moscow aged 18, Babchenko was conscripted into the Russian army and served during the Chechen wars from 1994 to 2000.
His memoir, One Soldier’s War, chronicles his experiences in the conflict, which claimed the lives of tens of thousands on both sides.
He then became a journalist, working for a number of different outlets.
A well-known Kremlin critic, he stood in unofficial elections organised by the opposition in 2012 and denounced Russia’s actions in Syria and eastern Ukraine.
In December 2016, Babchenko wrote a Facebook post (in Russian) about a crashed Tu-154 transport plane, which crashed into the Black Sea while carrying a Red Army choir to Syria.
‘All die’ in Russia Black Sea plane crash
Pilot error blamed in Russian air crash
He claimed this Facebook post, in which he described Russia as an “aggressor”, led to death threats and abuse from the Russian state.
He wrote in a piece for The Guardian that this forced him to leave “a country I no longer feel safe in”.
Babchenko also wrote for the BBC, reporting from the scene about a Ukrainian army helicopter that was shot down in the east of the country in 2014.
He first moved to Prague and later to the Ukrainian capital.
A former war correspondent, he worked in Kiev as a presenter on Ukraine’s channel ATR TV.
Kiev has in recent years seen a number of deadly attacks on high-profile figures, including journalists and politicians. Most of them were vocal critics of the Kremlin.
The leading Belarusian journalist and Kremlin critic, Pavel Sheremet, was killed by a car bomb in Kiev in July 2016.
Another car bomb killed Ukrainian military intelligence officer Col Maxim Shapoval in June 2017 in what the Ukrainian authorities called a terrorist act.
In March of the same year, former Russian MP Denis Voronenkov was shot dead outside a hotel in Kiev.