An unidentified police source was quoted as saying 13 people were injured.
Local authorities said they quickly evacuated visitors from all Sochi beaches and checked them for more explosives. None were found.
Dmitry Medvedev, Russia’s president, has ordered his envoy in the region to oversee an investigation.
An interior ministry official said the explosion could be part of a battle for control over the area between local criminal groups.
The local police have offered a reward of $85,000 for information that would help authorities track down the perpetrators.
Sochi is one of the most fashionable Russian resorts, favoured by the country’s elite and Russian presidents who use it as a holiday destination.
The government has allocated over $10bn to reconstruct the resort before the 2014 Winter Olympic Games, which has attracted businesses but also criminal groups.
Sochi is situated just kilometres from the border with Georgia’s breakaway region of Abkhazia, where rising tensions between Moscow-backed separatists and Tbilisi have fuelled fears of a possible war.