The incident happened on Yonge Street south of Finch Avenue, with several people being struck.
Late on Monday, it was announced 10 people have died.
Witness Alex Shaker, who was driving southbound at the time, says the van was travelling at high speed on the sidewalk. The van was also southbound.
“He started going down on the sidewalk and crumbling down people one by one,” Shaker told CTV News Channel on Monday afternoon.
Shaker said he saw the vehicle strike someone with a stroller.
“He just destroyed so many people’s lives,” he said. “Every single thing that got in his way.”
Photos posted online show multiple individuals on the ground.
Carol Roberts, who witnessed the aftermath, says she saw “a lot of people lying lifeless on the ground.”
“It was just so many bodies,” she told CTV News Channel.
Witness Phil Zullo, who was driving northbound, says he first noticed the commotion when he saw police taking down a male suspect.
Zullo says he continued north, where he saw “shoes and hats flown everywhere.”
The suspect was arrested beside the van on Poyntz Avenue off of Yonge, just south of Sheppard Avenue West. The van is marked as belonging to the rental company Ryder.
Video shared with CTV News shows the suspect pointing a small, dark object at police, with his back to the van. Police can be seen taking cover behind their vehicle and shouting at him to get down.
“Get down!” the officer is heard shouting.
“I have a gun in my pocket,” the suspect can be heard saying.
“Get down or you’ll be shot!” the officer says.
The camera turns away from the confrontation for approximately eight seconds, then looks back to show the suspect on the ground, face-down, with the officer cuffing him.
Another video recorded from a nearby building shows the moment missed in the previous video. The suspect can be seen walking out in the street with the object in his hand still pointed at the officer. After approximately five seconds he drops the weapon, throws out his arms and backs up to the curb.