The confrontation happened last Friday in Surrey, where plain clothes officers used their cruisers to box in a suspect vehicle.
But police say the driver attempted to ram his way out, hitting the cruisers and prompting the gunfire.
The RCMP say 26-year-old Daniel Monaghan of Langley is charged a number of offences including assault of a peace officer, assault with a weapon and dangerous operation of a motor vehicle.
Fifty-two-year-old David Traill of Surrey is charged with resisting arrest and breach of a conditional sentence order.
A 21-year-old woman, who was arrested at the scene and later released, is also expected to face charges.