Police say 19-year-old Briana Sykes fired the first shots at the Flint officer, who returned fire and fatally wounded her on Saturday.
Video footage of the incident, from a mobile phone, shows the officer surrounding the vehicle of Ms Sykes.
He aims his firearm at the windshield and appears to issue a warning or threat, before firing into the driver’s side.
“Put your hands up, let me see your hands”, the officer was heard saying before shooting.
As the car rolls away, the officer falls to the floor and starts crying.
Ms Sykes, who was identified by authorities in Flint on Monday, was driving near the city’s parade for Juneteeneth – the day marking the end of slavery in the US.
The officer who fatally wounded her was directing traffic, police say. He has since been placed on paid leave.
As reported by The Detroit News, there were no other injuries during the incident.
The Juneteenth parade was rerouted away from the scene.
It is not known why Ms Sykes fired at the officer.