Russia’s president Vladimir Putin has signed a decree that will exclude Ukraine from a free trade zone that includes former Soviet countries from 1 January.
Ukraine plans to join an EU free trade zone from that date.
Mr Putin cited “extraordinary circumstances affecting the interests and economic security” of Russia.
Tensions between the countries have been high since Russia annexed Ukraine’s Crimean peninsula last year.
Kiev and the West have also accused Russia of aiding pro-Moscow separatists in the east of the country.
The decree will annul a Russian deal with Ukraine dating back to 2011, according to the Russian Interfax news agency.
Russia says the Ukraine-EU deal could lead to European imports coming across its own borders.
‘Ready to pay the price’
Ukraine expects some economic damage as a result of the decree, said President Petro Poroshenko.
“Ukraine is aware of these restrictions and the expected damage the Ukrainian economy. But we are ready to pay this price for our freedom and our European choice?” he said.
Meanwhile, the Ukrainian government has said it will ban trade with Crimea in 30 days’ time.
But Russian economy minister Alexey Ulyukaev told the BBC that Russia was still open to negotiation with both Ukraine and the European Union.
“Negotiations will take place, of course,” Mr Ulyukaev said, adding that Russia hadn’t “closed the door” on a deal if there is “good will” among the participants.
He said Russia had proposed “a three-way system of information exchange” in Ukraine, allowing the origin of products to be tracked.
That proposal was still on the table, he said, but after 1 January there would be “a different economic reality”.