Officer Kevin Schieler was struck by a vehicle just after 2:00 p.m. Friday in the K-Mart parking lot at 713 E. Baltimore Ave in Clifton Heights.
The Delaware County DA says Schieler was approaching a suspicious vehicle that police had been watching for a few days.
Investigators say the driver sped up and struck Schieler. He suffered multiple broken bones and internal injuries, but authorities say he is able to speak.
The driver of the striking vehicle is in custody. There was no word on why the vehicle was under police surveillance.
Schieler is a part-time officer with the Clifton Heights Police and is a full-time officer for the City of Chester.
Schieler was listed in serious but stable condition at the Hospital of the University of Pennsylvania.