Vancouver police say an officer is in hospital with "significant injuries" from an assault after a routine traffic stop in downtown Vancouver turned violent.

Parts of the incident were posted by a passerby on social media.

Warning: Video contains profanity

According to a Vancouver Police Department release, two plainclothes officers stopped a Dodge Durango that had driven into a traffic-restricted part of Granville Street just before 10 p.m. Tuesday night.

"All three men in the vehicle, in their early 20s, were confrontational and verbally abusive. The officers became concerned for their safety as the occupants refused to follow police direction and began reaching under the seat," reads the statement.

"When one officer opened the passenger door, the front passenger pulled him into the vehicle and two men began to punch him repeatedly in his head and face. As the other officer rushed to help, all three men exited the vehicle and continued to assault the officers."

One suspect hit by truck

One of the men ran from the scene and was hit by a truck as he crossed against the light at the intersection of Robson and Seymour streets. Despite being struck, he continued to flee pursued by the uninjured officer, and was apprehended two blocks away.

All three men are in custody.

Brendan John Robinson, 21, and Troy Michael Robinson, 22, both of West Vancouver have been charged with assaulting a police officer and willfully obstructing a police officer.

Brian Benjamin Allen, 24, of Victoria is facing a charge of resisting arrest and possession of stolen property under $5,000 for allegedly taking the injured officer's cell phone.

Brendan Robinson, 21, and Troy Robinson, 22, of West Van, and Brian Allen, 24, of Victoria, are now charged after a <a href="https://twitter.com/hashtag/VPD?src=hash&ref_src=twsrc%5Etfw">#VPD</a> officer was seriously injured in a violent confrontation. Please call 604-717-2541 or Crime Stoppers with any info, cell phone video. <a href="https://t.co/BYjwwynlzN">https://t.co/BYjwwynlzN</a> <a href="https://t.co/JRVOM17JAB">pic.twitter.com/JRVOM17JAB</a> —@VancouverPD

Police say other charges related to the seizure of alcohol and drugs from the vehicle are also possible.

The man who ran from the scene was assessed at hospital and released.

The injured police officer is recovering at home.

With files from Tina Lovgreen

Read more from CBC British Columbia