The decision to suspend delivery of a Mistral naval assault ship to Russia risks costing France at least 1bn euros (£800m), officials say.
French President Francois Hollande said Russia’s actions in eastern Ukraine meant conditions were not right for delivery of the helicopter-carrier.
He later said “a ceasefire and a political settlement” should be in place before the deal could go ahead.
Russia was expecting two Mistral ships – the first one in October.
A French diplomat earlier said the contract was suspended until November, and the delay “could cost us 1bn euros”.
The deal is worth 1.2bn euros – and Russia is reported to have paid most of it, so breach of contract would mean France having to reimburse that money.
In addition, France would be liable for an extra 251m-euro penalty payment, French news website LCI reports.
The first ship is called the Vladivostok.
About 400 Russian sailors are training at the shipyard in Saint-Nazaire, western France, to be ready for the eventual handover of the Vladivostok.
France had until now resisted pressure to halt the delivery, saying it had to respect an existing contract.
US President Barack Obama and UK Prime Minister David Cameron both criticised the deal, at a time when Russia has been widely condemned for arming pro-Russian separatists in eastern Ukraine and allowing volunteers across the border to help them. Russia denies Western allegations of direct interference in the conflict.
A Russian military expert quoted by the Russian Kommersant news website said the final bill for France could go as high as 3bn euros.
The second ship, the Sevastopol, was to have been sent next year. Mr Hollande made no mention of it in his statement on Wednesday but said in July that delivery would depend on “Russia’s attitude”.
A union representative at STX, the French construction firm building the Mistral ships, said STX workers expressed “amazement and outrage” after the contract was suspended.
Jean-Marc Perez, quoted by AFP news agency, said that if the contract were cancelled it could threaten hundreds of French jobs.
Russia’s Deputy Defence Minister Yury Borisov said the French decision would not hold back Moscow’s plans to reform its armed forces.
“Although of course it is unpleasant and adds to certain tensions in relations with our French partners, the cancelling of this contract will not be a tragedy for our modernisation,” he said, quoted by Itar-Tass news agency.
Ukrainian Foreign Minister Pavlo Klimkin tweeted his thanks to the French leadership for its “responsible decision”, which he said was “important for restoring peace in Europe”.