Eighty people, including 13 children, were also injured in the blast, which created a huge fireball, government ministers said.
The blaze started at a roadside car repair shop in the regional capital, Makhachkala, on Monday night and triggered explosions as it spread to the nearby fuel station.
Footage posted online showed a one-storey building ablaze, and witness described the scene as “like a war”.
The Kremlin issued a statement saying: “President Putin expresses his most sincere condolences to the families and friends of the victims of the tragedy in Dagestan and wishes a speedy recovery to the victims.”
Pictures showed a large blaze lighting up the night sky and a number of fire engines at the scene.
The fire broke out during work on a car and nearby buildings and cars were also destroyed in the explosion, the regional branch of the Investigative Committee, which probes major incidents, announced on social media.
A criminal investigation has been opened, it added.
It took firefighters more than three-and-a-half hours to put out the fire that spread across an area of 600 square metres, state-run news agency Tass reported, citing the Russian emergency ministry.
Thirteen of the wounded were children, Interfax reported.
Makhachkala is a city of over 600,000 residents on the Caspian Sea, in Dagestan, which borders Chechnya.
Some 260 emergency workers were deployed, along with an aircraft to evacuate the seriously injured to Moscow, the ministry said.
The Republic of Dagestan is one of 83 constituent parts of the Russian Federation and is the southernmost part of the country.
Makhachkala is around 1,600km from Moscow.
– With reporting from agencies