Russia says that chemical gas that killed and injured dozens of civilians in a rebel-held town in northern Syria came from rebel weapons on the ground.
Its defence ministry acknowledged that Syrian planes had attacked the town of Khan Sheikhoun in Idlib province.
But it said the aircraft had struck a depot producing mines filled with a poisonous substance, for use in Iraq.
The US and others said Syrian planes had dropped chemical weapons, which Damascus denied.
UK Foreign Secretary Boris Johnson responded to the Russian statement by saying: “All the evidence I have seen suggests this was the [Syrian President Bashar] Assad regime… using illegal weapons on their own people.”
UK-based monitoring group the Syrian Observatory for Human Rights put the death toll in Khan Sheikhoun at 72, including 20 children.
Footage from the scene showed civilians, many of them children, choking and foaming at the mouth. Witnesses said clinics treating the injured were then targeted by air strikes.
The UN Security Council is also due to hold emergency talks following the incident.
“Yesterday [Tuesday], from 11:30am to 12:30pm local time, Syrian aviation made a strike on a large terrorist ammunition depot and a concentration of military hardware in the eastern outskirts of Khan Sheikhoun town,” Russian defence ministry spokesman Igor Konoshenkov said in a statement posted on YouTube.
“On the territory of the depot there were workshops which produced chemical warfare munitions.”
He said the chemical munitions had been used by rebels in the city of Aleppo last year.
“The poisoning symptoms of the victims in Khan Sheikhoun shown on videos in social networks are the same as they were in autumn of the previous year in Aleppo,” he added.
- The spectre of nerve agents in Syria – again
- US blames Assad over ‘chemical attack’
- Aftermath of attack in pictures (Warning graphic images)
- Why is there a war in Syria?
Wednesday’s emergency meeting of the UN Security Council was called by France and the UK as international outrage mounted over the attack.
Britain’s ambassador to the UN, Matthew Rycroft, said the incident was “very bad news for peace in Syria”.
“This is clearly a war crime and I call on the Security Council members who have previously used their vetoes to defend the indefensible to change their course,” he told reporters in New York.
In a statement, US President Donald Trump condemned what he called “these heinous actions” by the government of Syrian President Bashar al-Assad.
He also blamed his predecessor, Barack Obama, for what he termed his “weakness” on Syria. Critics pointed to tweets by Mr Trump dating back to 2013 that urged the US government to ignore Syria and focus on domestic problems.
US Secretary of State Rex Tillerson accused the Syrian government of “brutal, unabashed barbarism”.
UN Syria envoy Staffan de Mistura said it was a “horrific” attack and that there should be a “clear identification of responsibilities and accountability” for it.
Syria’s civil war has raged for more than six years, with no political solution in sight.
Nearly five million Syrians have fled the country and more than six million are internally displaced, the UN says. More than 250,000 people have been killed.
The BBC’s Lyse Doucet in Brussels says the attack could prove a stumbling block at Wednesday’s international conference in Brussels.
The EU hopes to use the prospect of funds for reconstruction as a bargaining chip in the faltering peace talks, our correspondent says, but the latest developments will deepen the opposition of those who say now is not the time to discuss financial support for areas controlled by the Syrian government.