It happened around 3:45 p.m. at Hay and Robeson Streets, where Robeson becomes Bragg Boulevard.
Officer Garrett Chapman, who is a five-year veteran of the force, was trapped inside his damaged cruiser for a brief time.
The driver of the other car told ABC11 that he swerved to miss a stopped vehicle, and hit the officer.
"I was coming this way with the flow of traffic, and I guess other cars were going that way to work a scene," said driver Robert Bateman. "The guy in front of me hit the brakes and I went out around him, evidently the light was red, and honestly I popped him."
Police say Chapman only had minor injuries.
Bateman was charged with running a red light, and driving without a license.