A 23-year-old man is in critical but stable condition in a Montreal hospital after being run over by a taxi cab during an altercation early Sunday morning.

The incident took place at the corner of St. Laurent Boulevard and Rachel Street around 4 a.m., when a fight broke out between a taxi driver and a group of people.

Local resident Jonathan Himsworth said the incident began when a passenger who appeared to be angry got out of the taxi and slammed the door. Himsworth said the driver jumped out of the cab and confronted the passenger.

Himsworth grabbed his video camera when he saw the cab driver get back into the taxi and begin driving through a group of men on the street.

"We saw the cab driver ram his cab into the lamppost," Himsworth said. "At that point I started running footage."

Himsworth sent the video to CTV Montreal.

The video shows a group of people approach the cab while it is at a standstill. One person appears to hit or kick the cab, while another throws an unknown object at it. The driver then reverses and drives through the crowd, narrowly missing at least two people.

Another man hops onto the roof of the cab but jumps off when it begins to move again. That's when the cab runs over the man.

Himsworth said at first, he grabbed his camera so there would be a witness to the altercation and the attacks on the cab.

"I just wanted there to be a witness for that," Himsworth said. "I didn't expect him to retaliate quite so extraordinarily."

Montreal police Const. Raphael Bergeron said the 47-year-old cab driver was arrested on an allegation of assault with a weapon. A 42-year-old passenger was also arrested for mischief.

Charges have not yet been laid.

Jonathan Himsworth's footage of the incident is posted here. WARNING: This video contains graphic and disturbing footage.

With a report from CTV Montreal's Mark Shalhoub