Vasily Gritsak, head of the Ukrainian Security Service, told reporters the agency faked Mr Babchenko’s death to catch those who were trying to kill him.
Kiev had said the 41-year-old, a strong critic of Vladimir Putin, was shot multiple times in the back at his apartment building while on his way to buy bread.
They had claimed he was found bleeding by his wife.
But, remarkably, Mr Babchenko showed up at the news conference, apologised for what people had been through, and thanked everyone who had been mourning his death.
He thanked the Ukrainian security service for saving his life and said the operation had been planned for two months.
Mr Babchenko, one of Russia’s best-known war reporters, spoke and wrote last year about leaving the country because of repeated threats that he and his family would be harmed.
Ukraine had released an image of a man wanted in connection with the killing.
A Ukrainian citizen has been arrested.
Mr Gritsak said his service had received information about a Russian plan to assassinate Mr Babchenko, and had managed to prevent it.
More from World
Austria calls for overhaul of EU free movement
Belgium police attacker ‘killed someone day before’
First post-Mugabe election called in Zimbabwe
Missing teenager Serena Alexander-Benson is with her mother in Poland
Myanmar military could be investigated over Rohingya abuses
UK ‘deeply concerned’ over Russian pursuit of British Kremlin critic Bill Browder
He added that a Ukrainian citizen had been recruited and paid $40,000 (£30,130). That citizen was also apparently asked to buy weapons and ammunition.