It was just before eight o'clock and the auditorium at Crocus City Hall was filling up, ahead of a Friday night rock concert by veteran band Picnic.
"Some people in brown clothing, I don't know who they were - terrorists, military, whoever - broke into the auditorium and started shooting at people with assault rifles," said photographer Dave Primov, who saw the attack unfold from an upstairs balcony.
Warning: Some of the details of this story are graphic
The gunmen had just walked across the concourse outside the theatre, opening fire at random, killing and wounding members of the public as they walked in.
Some 6,200 tickets had been sold for the concert, but security outside the entrance quickly melted away. One of four guards said his colleagues hid behind an advertising board: "Those attackers passed 10m [30ft] away from us - they started shooting randomly at people on the ground floor."
No-one knew how many attackers there were. But video filmed from an upper floor shows four men walking separately with a few metres between them across the beige, marble-tiled floor.
The lead attacker aims point-blank at people huddled against the windows. These are the first victims of Russia's deadliest attack on civilians for years.
Many of those killed and wounded came from Krasnogorsk, Khimki and other nearby towns on Moscow's north-western fringe.
A second attacker then joins in, while a third calmly follows carrying a backpack. The fourth man hands him his weapon and they walk through the unguarded metal detectors towards the auditorium.
One woman was with her 11-year-old daughter, buying ice cream at a café near the entrance, when they heard the noise and someone shouted to get down on the floor.
"We rushed to the children, lay down and started setting up barricades from tables and chairs, and several wounded people came running to us," she told BBC Russian.
Inside the theatre, the concert had been due to start in just a few minutes and some thought the noise might be part of the act.
Sofiko Kvirikashvili heard what she initially thought was "some kind of endless burst of firecrackers - I turned around in the hall once, then again. The third time, I realised everyone in the hall had started running away in all directions."
Dave Primov, the photographer, said there was a crush and a scene of panic. Some in the theatre tried to lie down between the seats, but with several gunmen opening fire in the stalls, that offered little protection.
Those in the audience who could, headed for the stage. Others tried to find higher exits, only to find some of the doors locked. Eyewitnesses said there were elderly people as well as children there, all caught up in the attack.
One woman had been in one of the higher circles and ran down towards the stage, from where she saw a man in the stalls opening fire: "We ran behind the curtain and one of the Crocus employees in uniform told us to run and we ran out into the car park without any winter clothes."
Survivors told of panic inside the building as people tried to escape (AFP)
Margarita Bunova had just got hold of opera glasses for the show when she heard what she thought were firecrackers, which then turned into rapid bursts that she and her husband identified as gunfire.
"Somebody said run downstairs and it was complete darkness... we could still hear bursts of shooting behind us by the time we got out."
One man in a VIP box told how he and others barricaded themselves in only to find smoke billowing through the theatre.
Another man, Vitaly, saw the attack unfolding from a balcony: "They threw some petrol bombs, everything started burning."
Whether it was a petrol bomb or another incendiary device, the flames spread rapidly.
VASILY PRUDNIKOV/EPA-EFE/REX/Shutterstock
Firefighters could not get near the building because of the attack. The fire soon spread to the roof and could be seen across the skyline in Krasnogorsk. Part of the roof collapsed and the fire spread to the front of the building, gutting the top two floors.
Many of those in the auditorium fled through the foyer. One graphic video shows people rushing down escalators past two bodies propped up against a sofa.
Another video shows people fleeing as the crackling of gunfire echoes around them. They make it to the relative safety of the back of the building, where some sit huddled and others hold on to each other as they file through corridors.
For a moment, a TV monitor shows the chaos on the front of the stage. There is no sign of Russian police or special forces anywhere in the building.
The survivors climbed a staircase and reached the Crocus City Hall's trade entrance. One man was seen retching, while others phoned loved ones and walked away.
Eva, an assistant to a dance group, was backstage when the attackers burst into the auditorium. "We were in the dressing room, a crowd rushed past us. We heard noise and people running in the corridor; we grabbed our coats and ran with the crowd."
Initially, all the members of the group, Picnic, were declared safe and well, but later unconfirmed reports suggested one of the musicians was unaccounted for.
As the death toll grew beyond 100 and the number of wounded above 200, the scale and indiscriminate nature of the massacre became clearer, both inside and outside the auditorium.
The first official list of casualties suggested the oldest victim was in her 70s, while children were also among the dead and wounded.
Russian authorities said the attackers used this car to escape the Krasnogorsk attack. Ostorozhno Novosti via Reuters
A picture of a white Renault car with two occupants appeared on social media channels linked to Russia's security agencies.
Jihadist group Islamic State said in a brief statement that it was behind the attack, without specifying which affiliated branch. That tallied with a US intelligence account indicating IS had wanted to attack Russia. Two weeks earlier, the US had warned of a potential attack targeting "large gatherings" in Moscow, although Russian officials have complained the intelligence lacked specific detail.
Ukraine quickly denied any involvement, insisting its attacks were confined to the battlefield.
But Russia's FSB security service claimed the perpetrators had sought to cross Russia into Ukraine and had "relevant contacts" there. A number of people have been detained, including four alleged attackers, says the FSB.
Returning to the scene on Saturday, Margarita Bunova and her husband Pavel said the first thing they did when they got back home was hug their children.
It was not until Saturday afternoon in Moscow that the president addressed the Russian public, speaking of an entire nation in grief.
He compared the killers to the Nazis of World War Two and said no-one could undermine Russian unity. A national day of mourning would take place on Sunday, he added.
Latest Stories
-
EPA says lead-based paints are dangerous to health, calls for safer alternatives
1 minute -
Queenmother calls on President-elect Mahama to appoint more women in his government
2 hours -
Atletico Madrid beat Barcelona to go top of La Liga
2 hours -
Usyk breaks Fury’s heart with points win in rematch
2 hours -
Ghana-Russia Centre to run Russian language courses in Ghana
8 hours -
The Hidden Costs of Hunger: How food insecurity undermines mental and physical health in the U.S.
8 hours -
18plus4NDC marks 3rd anniversary with victory celebration in Accra
11 hours -
CREMA workshop highlights collaborative efforts to sustain Akata Lagoon
11 hours -
2024/25 Ghana League: Heart of Lions remain top with win over Basake Holy Stars
12 hours -
Black Queens: Nora Hauptle shares cryptic WAFCON preparation message amid future uncertainty
13 hours -
Re-declaration of parliamentary results affront to our democracy – Joyce Bawah
13 hours -
GPL 2024/25: Vision FC score late to deny Young Apostles third home win
13 hours -
Enhancing community initiatives for coastal resilience: Insights from Keta Lagoon Complex Ramsar Site Workshop
13 hours -
Family Health University College earns a Presidential Charter
13 hours -
GPL 2024/25: Bibiani GoldStars beat Nsoatreman to keep title race alive
13 hours