Many people died when rockets and mortars hit vehicles moving refugees from the Luhansk area of eastern Ukraine, the Ukrainian military says.
Ukraine has blamed pro-Russian rebels but they have denied carrying out the attack, near the village of Novosvitlivka.
A rebel news outlet reported a heavy exchange of artillery fire in the area.
Ukrainian forces have moved into the outskirts of rebel-held Luhansk where basic supplies are running out.
Military spokesman Andriy Lysenko said “militants” armed by Russia had fired at a refugee convoy with mortars and Grad rockets, on a road east of Luhansk.
He said “dozens” of civilians had died, including women and children.
“The convoy had white flags and was marked as civilian,” Mr Lysenko said.
Another military spokesman said people had been burned alive inside their vehicles.
A spokesman for the rebel self-proclaimed “Donetsk People’s Republic”, Andrei Purgin, denied that rebel forces had attacked the convoy.
“The Ukrainians themselves have bombed the road constantly with planes and Grads. It seems they’ve now killed more civilians like they’ve been doing for months now,” he was quoted as saying.
Alexander Zakharchenko, a rebel leader in Donetsk, told journalists: “Not a single convoy of refugees was shot at in the Luhansk region.”
There has been sustained artillery shelling of Luhansk, a city of 250,000 people, where civilians are suffering chronic shortages of water, food and electricity. Before the conflict, the population was closer to 420,000.
Hundreds of civilians are fleeing the city every day as Ukrainian forces edge into Luhansk.
The key rebel-held town of Horlivka near Donetsk has been encircled, military officials say, in another sign that the separatists have lost ground in recent days.
Also on Monday, the rebel-led administration in Donetsk said they had introduced the death penalty for offences including treason, desertion and sabotage.
Eduard Yakubovsky, acting prosecutor-general of the self-proclaimed Donetsk People’s Republic, said the penalty would also cover “military crimes committed… on the battlefield, such as handing over military hardware or weapons”.
Observers said the move could indicate problems within the rebels’ ranks.
More than 2,000 civilians and combatants have been killed since mid-April, when Ukraine’s government sent troops to put down the rebel uprising in the east.