Ukraine's decision to suspend a deal on closer EU ties and sign a Russian aid agreement instead has helped avoid bankruptcy, Prime Minister Mykola Azarov has told ministers in Kiev.
The government's surprise U-turn on an EU association agreement last month has sparked weeks of mass demonstrations.
But Mr Azarov said the package from Russia would provide stability.
Russia has agreed to buy $15bn (£9.2bn, 11bn euros) of government bonds and slash the price of gas.
Ukraine's opposition has demanded to know what Ukraine offered Russia in return.
Thousands of pro-EU protesters have been holding rallies in Kiev - occupying the capital's Independence Square - and other cities in western and central Ukraine.
Critics say President Viktor Yanukovych has sold out to Russia and are calling for him and his government to step down.
But Ukraine's prime minister defended the deal with Russia in a cabinet meeting on Wednesday.
"What would have awaited Ukraine? The answer is clear - bankruptcy and social collapse," Mr Azarov said.
"What a present for New Year that would be for the people of Ukraine.
"The agreements between the Ukrainian and Russian presidents allow us to plan the years to come as years of development and people's confidence about their stable lives."
He said a pact to lower gas prices by about a third would allow for "a revival of economic growth".
There was no way Ukraine could have signed the EU agreement as Kiev would have had to accept unfeasibly stringent IMF conditions for economic reform, he added.
In her first speech first since being re-elected German chancellor, Angela Merkel told parliament in Berlin she regretted Ukraine's decision - but said the offer of the EU trade pact was still open.
Russian Foreign Minister Sergei Lavrov earlier criticised the West for exerting "overt pressure" on the country to favour closer EU ties, adding that the deal with Moscow was "mutually beneficial".
Jailed former Ukrainian leader Yulia Tymoshenko said the deal with Moscow could be "the beginning of the end of our independence".
In an interview with the German magazine Stern, she called on the EU to end talks with Mr Yanukovych and impose sanctions against him and his administration.
Ukraine urgently needs to cover an external funding gap of up to $17bn (£10.4bn; 12.3bn euros) next year to avoid defaulting on its debts.
The country relies on imports of Russian gas and some 75% of Ukraine's engineering exports go to Russia.
After talks between Mr Putin and Mr Yanukovych in the Kremlin, it was announced on Tuesday that Russia would buy $15bn-worth of Ukrainian government bonds.
The cost of Russian gas supplied to Ukraine has been slashed from more than $400 (£245; 291 euros) per 1,000 cubic metres to $268.5.
Much of the detail of the agreement still remains unclear.
But Mr Putin said the assistance was not "tied to any conditions". He also said they had not discussed Ukraine joining a Moscow-led customs union with Belarus and Kazakhstan.
An opposition party leader, Vitali Klitschko, told pro-EU protesters in Kiev on Tuesday that Mr Yanukovych was betraying Ukraine's independence by joining with Russia.
"He has given up Ukraine's national interests, given up independence," said Mr Klitschko, a former boxing champion.
He called on the Ukrainian president to hold a snap election.