(CNN) Christopher Grant was in the Walmart produce section when gunfire rattled. It was about 10:30 a.m. on a Saturday -- with parents and carefree children searching the aisles for back-to-school bargains.
But on this morning, a man in khakis brandishing a gun roamed the store in El Paso after opening fire in the parking lot, leaving bullet casings and blood scattered all over.
Terrified shoppers went on their knees and begged him not to kill them when he turned his weapon in their direction, Grant said. By the time the rampage was over, the gunman had fatally shot 22 people and left two dozen injured, police said.
"People were praying in Spanish, 'Por favor, no. No, por favor,'" Grant said. "They were on the ground and he still just shot them in the head. They were praying ... 'Please, please, don't shoot me.' He had no remorse for their lives at all."
To deter the gunman, Grant tossed bottles at him. One hurtled in the shooter's direction, making him turn toward Grant and fire rounds.
"I was like, oh my God, this guy is shooting at me," Grant told CNN's Chris Cuomo from his hospital bed. He tried to duck but a bullet struck him in the back. As he lay on the floor bleeding, he watched the shooter walking among people praying in Spanish, begging for their lives.
Then he fled to the auto department as the gunman headed toward the bank near the store's restroom and kept firing.
"I could just tell he was prepared," Grant said.
The first call of an active shooter went out at 10:39 a.m. local time. The first officer arrived on the scene six minutes later, police said.
At the bank, Octavio Lizarde was opening an account accompanied by his nephew when the gunman strode in and started shooting
He grabbed his nephew's hand and they scampered to the back of the bank, he said at a news conference Tuesday. The gunman heard them, walked to where they were and shot his nephew, Javier Rodriguez, 15, killing him. He also shot at Lizarde, wounding him in the leg, he said.
Lizarde tearfully talked about his injuries and how he's coping with the loss of his nephew.
"I'm in pain, it hurts," he said. "This pain will end. The only pain that won't end is ... emotional."
He described his efforts to save his nephew by dragging him farther into the room -- away from the bullets.
"The shooter came and I guess he heard us and he shot him," he said.
Back at the auto department, Grant burst through a set of doors and found US Customs and Border Protection Agent Donna Sifford.
"There's a shooter inside!" he yelled.
Sifford had left her firearm at home. Along with two Walmart employees, she helped put Grant into the bed of a truck and the driver rushed him to the hospital.
"We didn't know where the shooter was. We ducked down between two vehicles on the northeast side of Walmart," Sifford said. "Chris was fading, losing a lot of blood."
Sifford and Grant were reunited Monday at Del Sol Medical Center, where Grant was recovering from gunshot wounds.
The suspected gunman has been identified as Patrick Crusius of Allen, Texas.
After walking into Walmart and spraying the center with bullets, he got back in his car, drove to an intersection north of the store, got out of the car and surrendered to an El Paso motorcycle officer who was helping establish a police perimeter around the business, police said.
Crusius put his hands up and identified himself as the shooter, El Paso police Sgt. Enrique Carrillo said. The officer handcuffed him on the spot.
He was charged with capital murder and is being held without bond, police said.
Police believe the attack was fueled by the suspect's hatred for Hispanic immigrants, according to an online document police believe he wrote. Authorities are investigating the racist, anti-immigrant document they believe he posted about 20 minutes before the shooting.
Crusius, 21, bought his "7.62-caliber weapon" near the suburb of Dallas where he lived and drove about 11 hours from his Allen home to the El Paso Walmart, police said. He had no apparent ties to El Paso County, where 83% of residents are Hispanic or Latino, according to the US Census Bureau.
He has been cooperating with authorities since his arrest and has volunteered evidence, El Paso Police Chief Greg Allen said.
Federal authorities said they're treating the shooting as a case of domestic terrorism.