Azerbaijan's President Ilham Aliyev vowed on Saturday to take revenge on Armenia after a missile strike killed 12 sleeping people in the city of Ganja, a dramatic escalation in the conflict over the disputed Nagorno-Karabakh region.
The early hours attack, which also saw a strike on the nearby strategic city of Mingecevir, came hours after Azerbaijani forces shelled Stepanakert, the capital of the ethnic Armenian separatist region.
The explosions in Ganja levelled a row of houses and left at least 40 people injured in an attack Aliyev described as "a war crime".
In televised remarks, he said his army would "take revenge on the battlefield" and promised to free Upper Karabakh from decades-long occupation by driving out Armenian occupiers "like dogs".
As the sun rose over the devastation in Ganja, Mayil Shakhnazarov, 36, said it was impossible to identify some of those killed.
"What can we say? Our pain is deep. Really deep," he told AFP.
An AFP team in Ganja saw rows of houses in Ganja turned to rubble by the strike, which shattered walls and ripped roofs off buildings in the surrounding streets.
People ran outside in shock and tears, stumbling through dark muddy alleys in their slippers, some wearing bathroom robes and pyjamas.
The attack came six days after a missile struck another residential part of the city of more than 300,000 people, killing 10 civilians and leaving many on edge.
At the scene of the latest strike, Durdana Mammadova, 69, was standing on the street at daybreak because her house was destroyed.
"We were sleeping and suddenly we heard the blast. The door, glass, everything shattered over us," she said.
"There was smoke and dust -- we couldn't even breath."
Hikmat Hajiyev, an assistant to Aliyev, tweeted that according to initial information, more than 20 houses were destroyed in Ganja.
Nagorno-Karabakh's military said Azerbaijani forces had stepped up their attacks on Friday across the front, shelling Stepanakert and a nearby town.
AFP journalists in the city said strikes had hit the roof of a shopping centre, left a crater near a bus stop and shattered windows in a nearby residential building.
"What happened here is senseless,said Gayane Gharibyan, an angry 45-year Armenian woman whose husband was fighting at the front.
"How can the international community be so indifferent."
Turkey, a staunch ally of Azerbaijan widely accused of supplying mercenaries to bolster Baku's forces, said the strikes were a war crime and called on the international community to denounce them.
"Armenia continues to commit war crimes and massacre civilians. To remain silent in the face of this savagery is to be complicit in these crimes," Turkish Foreign Minister Mevlüt Çavuşoğlu said on Twitter.
At around the same time in the city of Mingecevir, an hour's drive north of Ganja, AFP heard the impact of a huge blast that shook buildings.
Mingecevir is protected by a missile defence system because it is home to a strategic dam.
The defence ministry said Mingecevir had come "under fire", but provided no other immediate details.
An Azerbaijani official said another missile hit a separate industrial district of Ganja at around the same time.