City prosecutors charged Walter Farrell, 54, with nearly two dozen offenses, including attempted murder, assault on law enforcement and related gun charges.
Investigators say two officers were responding to reports of a man with a gun, when they noticed someone fitting the description of the suspect boarding a Route 56 bus.
When the officers got on the bus, near Torresdale Avenue and Howell Street, Farrell pointed his gun at the pair. They retreated off the bus, and Farrell followed with gunfire.
The officers returned fire, shooting the suspect several times. He remains in critical condition at the hospital.
A third officer, 37-year-old Donald Revill, scuffled with the suspect and suffered a graze wound to the arm, but he was treated and released from the hospital the same day.
No passengers on the bus were injured.
Farrell has a criminal record, including drug and attempted burglary charges.
He will remain in custody until his preliminary hearing next month.