The shooting occurred around 9:45 p.m on a northbound Broad Street Line train.
"A male pulled a gun and began shooting," SEPTA Police Chief Tom Nestel. "This is an outrageous event. Somebody pulls out a gun on a subway car with people. A lot of people could have been seriously injured. We are going to make sure that this person is held accountable."
Police said two teen boys, a 16 and 18-year-old, were both shot.
Both were transported to Hahnemann University Hospital with non-life threatening injuries.
The alleged shooter ran from the scene but authorities blasted out surveillance photos to officers all around the city.
Officials said a 6th District police officer spotted the suspected gunman on the 100 block of North Broad Street and arrested him.
On Thursday, police identifed the suspect as 22-year-old Isaac Orsini.
Orsini is being charged with aggravated assault, simple assault and other related offenses.
It's unclear at this time what sparked the gunfire.
Anyone with any information is asked to call police at 215-686-TIPS.