The shooting started in the parking lot. At around 2.30pm on Saturday, after driving for hours, a heavily armed man appeared outside a Tops supermarket. He was wearing tactical gear and a bulletproof vest, with a video camera attached to his helmet. He was carrying an assault rifle, with an anti-Black slur written across the barrel.
Then he opened fire.
Three of his victims outside were killed, police said later. One was injured.
Then he walked into the bustling grocery store and continued his rampage, streaming the footage live online.
A retired Buffalo police officer who worked as a security guard fired multiple shots at the shooter. Authorities said the suspect was hit but was wearing a bulletproof vest and managed to fight back, killing the security guard.
He shot shoppers and employees, police said, leaving a trail of bodies in the aisles. Screenshots of the show circulating online appeared to show the shooter, at one point, holding a gun and standing over a body.
Shonnell Harris, operations manager at The Tops, told The Buffalo News she was stocking shelves when she heard loud noises and saw people running towards the back of the store. Ms Harris tripped several times as she ran for her life, she said, before she managed to escape through the back door. She estimated that she heard more than 70 gunshots.
And she saw the shooter. “He was wearing army fatigue clothes,” she told the Buffalo News.
Eventually, the shooter returned to the front of the store, where he was confronted by Buffalo police in the vestibule. He then put the gun to his own neck, Police Commissioner Joseph A. Gramaglia said at a news conference.
Two patrol officers at the scene persuaded the shooter to drop the weapon, Mr. Gramaglia said. He began removing some of his tactical gear when he surrendered, officials say. Then the police approached him, witnesses told The Buffalo News.
Ultimately, 10 people died, three of whom suffered what appeared to be non-life-threatening injuries. Of the 13 people shot, 11 were black.
At one point during filming, Dominique Calhoun pulled into the parking lot, about to offer ice cream to her two daughters, when she suddenly saw people running out of the store screaming. “It literally could have been me,” she said.