Terrorism might be the possible motive of the suspect, who was driving a black Honda, Fox News reported.
Police say one pedestrian was injured and transported to the hospital with unspecified injuries. But after the struggle, the detective - whom Kinebrew did not identify - fired at least 10 shots at the man, striking him once in the face.
A force spokesman said: "Anytime someone is trying to run people over we have to look at that angle and see where the investigation takes us". The name of the driver who was shot has not been released.
Police captain Sekou Kinebrew said the driver was seen driving erratically around 7.30am.
Several minutes later, on the 1300 block of Bigler Street, Kinebrew said, the man drove into a 40 year-old pedestrian, Kinebrew said, flipping the pedestrian onto the hood of the vehicle. The police said the driver was attempting to run over pedestrians early Monday morning.
An off-duty Philadelphia Police Detective noticed the vehicle by the intersection of Broad & Bigler Streets in South Philadelphia when he cut the vehicle off.
After another driver blocked the path of the suspect's auto, the off-duty officer approached the vehicle, shouted a warning to the driver, and got into a struggle with the suspect.
The pedestrian was hospitalized after the incident.
The driver was taken to a hospital, where he was in critical condition, police said. Officials said they were able to walk.