Police said they were investigating a mass casualty incident and had arrested a 30-year-old Vancouver man at the scene, but did not immediately give the number of fatalities or injured.
At a midnight press conference, police said the suspect was "known" to them but did not elaborate.
The incident happened on Saturday night local time in South Vancouver where the Lapu Lapu Day Block Party, celebrating a Philippine national hero, was taking place.
"A number of people have been killed and multiple others are injured after a driver drove into a crowd," police said.
One witness told CTV News he saw a black vehicle driving erratically in the area of the festival just before the crowd was struck.
The Vancouver Sun said thousands of people had been in the area.
"I didn't get to see the driver. All I heard was an engine rev," Yoseb Vardeh, co-owner of food truck Bao Buns, told Postmedia.
"I got outside my food truck, I looked down the road and there's just bodies everywhere.
"He went through the whole block. He went straight down the middle."
Jagmeet Singh, leader of Canada's New Democratic Party, was among the attendees at the event, but left minutes before the vehicle arrived, CTV News said.
"This is so horrific, I don't even know what to say," Singh told CTV.
"I was just there, and I just imagine the faces of the kids that I saw smiling and dancing."
Video posted on social media showed victims and debris strewn across a long stretch of road, with at least seven people lying on the ground.
A black SUV with a crumpled front section could be seen in still photos from the scene.
Canadian Prime Minister Mark Carney called the incident "horrific" and thanked first responders for their "swift action".
"Devastated to hear about the horrific events at the Lapu Lapu Festival in Vancouver earlier this evening," he said in a post on X.
"I offer my deepest condolences to the loved ones of those killed and injured, to the Filipino Canadian community, and to everyone in Vancouver. We are all mourning with you."
Vancouver's Mayor Ken Sim and British Columbia Premier David Eby posted similar comments on X.
Canada's federal election takes place on Monday.
with AP