The other driver involved, 46-year-old Beau Singer, has been charged with DUI.
It happened around 7:30 a.m. on Thursday at the intersection of Owens Avenue and Garrett Road.
The officer, who is part of the highway patrol division, was hit when the driver of a red pickup truck failed to stop at a stop sign, according to police.
The crash threw the officer off his motorcycle, leaving him with two broken bones in his leg.
"He's an 11-year veteran. He's a fighter. Thankfully, he will be okay," said Superintendent Timothy Bernhardt with the Upper Darby Police Department.
Video allegedly shows Singer trying to flee the scene.
"He walked up to the officer, saw it was an officer and then ran back to his truck, so we believe he was trying to leave," Bernhardt said.
According to police, Singer told investigators he had received a dose of methadone about an hour before the crash.
The officer is expected to make a full recovery.