Ukrainian officials said their forces hit the vessel with missiles, while Russia acknowledged a fire on board the Moskva but no attack.
US and other Western officials could not confirm what caused the blaze.
The loss of the warship, named after the Russian capital, is a devastating symbolic defeat for Moscow as its troops regroup for a renewed offensive in eastern Ukraine after retreating from much of the north, including the capital.
Moskva: Ukraine claims to have caused ‘serious damage’ after striking ‘Snake Isl…
The Russian Defense Ministry said the ship sank in a storm while being towed to a port. Russia earlier said the flames on the ship, which would typically have 500 sailors on board, forced the entire crew to evacuate.
It later said the blaze had been contained and that the ship would be towed to port with its missile launchers intact.
The ship can carry 16 long-range cruise missiles, and its removal from combat reduces Russia’s firepower in the Black Sea.
It is also a blow to Russian prestige in a war already widely seen as a historical blunder. Now entering its eighth week, Russia’s invasion has stalled because of resistance from Ukrainian fighters bolstered by weapons and other aid sent by Western nations.
The news of the flagship’s damage overshadowed Russian claims of advances in the southern port city of Mariupol, where they have been battling the Ukrainians since the early days of the invasion in some of the heaviest fighting of the war — at a horrific cost to civilians.
Maksym Marchenko, the governor of the Odesa region, across the Black Sea to the north west of Sevastopol, said the Ukrainians struck the ship with two Neptune missiles and caused “serious damage”.
Oleksiy Arestovych, an adviser to Ukraine’s president, called it an event of “colossal significance”.
Russia’s Defense Ministry said ammunition on board detonated as a result of a fire, without saying what caused the blaze. It said the “main missile weapons” were not damaged. In addition to the cruise missiles, the warship also had air-defence missiles and other guns.
The Neptune is an anti-ship missile that was recently developed by Ukraine and based on an earlier Soviet design. The launchers are mounted on trucks stationed near the coast, and, according to the Washington-based Center for Strategic and International Studies, the missiles can hit targets up to 175 miles away. That would have put the Moskva within range, based on where the fire began.
The US was not able to confirm Ukraine’s claims of striking the warship, US national security adviser Jake Sullivan said. Still, he called it “a big blow to Russia”.
“They’ve had to kind of choose between two stories: One story is that it was just incompetence, and the other was that they came under attack, and neither is a particular good outcome for them,” Mr Sullivan told the Economic Club of Washington.
Russia invaded on February 24 and has lost potentially thousands of fighters. The conflict has killed untold numbers of Ukrainian civilians and forced millions more to flee.