First there were rounds of machine gun fire, then piercing screams of panic and then the Crocus City Hall went up in flames.
Alexei, who had been waiting for a concert by the Piknik rock band, told AFP how he hid behind seats in the concert hall before making his escape amid scenes of panic as spectators were gunned down.
Hundreds of fans had been at the hall in the Krasnogorsk suburb north of Moscow for the concert. But just minutes before the music was due to start armed individuals entered the theatre and opened fire.
Authorities said at least 40 people had been killed and 100 injured in the attacks that drew international condemnation.
"It was just before the start," Alexei, a music producer, said by telephone.
"We heard several rounds of machine gun fire and then there was a horrible scream from a woman. Then there were a lot of screams.
"There were three or four bursts, and then some more."
Alexei then saw the panic erupt. "People started running toward the stage. The crowds were chaotic."
Videos on Telegram and other Russian social media close to the security forces showed two armed men march into the concert hall. Some images showed bodies on the ground and people running for exits.
Some rock fans hid behind seats in the hall as the shots were fired.
With other spectators Alexei tried to barricade himself in a box overlooking the stage whilst looking for an escape route.
He said he did not see the gunmen but as he ran saw "the smoke and the ashes" spread before he reached the exit.
The fire, that one journalist said was started by a grenade or incendiary bomb, quickly turned the concert hall into an inferno that emergency services battled into the night.
Black smoke rose into the sky as Russian security forces tried to rescue spectators who had gone into the theatre basement or onto the roof of the Crocus City Hall.
An AFP journalist at the scene saw flames devouring the concert hall with black smoke still pouring from the roof. Russian media said the roof had partially collapsed.
Hundreds of police and anti-riot squad forces sealed off Crocus City with dozens of ambulances and police vehicles with lights flashing waiting nearby. At least three helicopters flew overhead.
The emergency situations ministry said rescue operations were underway to try to help people "still on the roof". It added that about 100 people had been evacuated through the concert hall basement.
The motives and the identity of the attackers remained unknown, though the Islamic State group made a claim of responsibility.
Islamist radicals have previously staged attacks in Russia to support separatist regions.
Russian authorities said the National Guard was "searching for the criminals" and that a "terrorist" investigation had been launched.