27-year-old William Smalls, of the 9200 block of Masland Street, turned himself in on Sunday accompanied by his father, police say.
According to police, Smalls' father says he urged his son to turn himself in after seeing the surveillance video of the incident on an 11 o' clock newscast.
Smalls is facing multiple charges, including aggravated assault.
Sources tell Action News that Smalls stopped short of giving a confession, but admitted to being present during the incident.
A search warrant was executed at the suspect's home on Sunday where clothing was discovered connecting him to the crime, police say.
The incident occurred around 2 p.m. Friday on a Route 56 bus on the 4100 block of Torresdale Avenue.
Police say Smalls entered the bus, which was traveling southbound.
After he was unable to pay the fare, he was asked to exit the bus at the next stop on the corner of Paul and Torresdale Avenue.
When he refused, the bus driver waited for police.
"Some passengers became a little upset about that because it was delaying the ride," said Lt. Dennis Rosenbaum.
A tire shop surveillance camera shows people exiting the stopped bus to catch another, but police say one passenger wasn't as patient and pushed the bus hopper out the door.
The suspect then ran back on the bus and attacked the 42-year-old victim, allegedly stabbing him in the head, neck and abdomen before fleeing the scene, police say.
"During the course of that fight, which looks like a fist fight, but turns out he had a knife and stabbed the victim several times in the neck and body area," said Rosenbaum.
The victim was rushed to Temple University Hospital where he is listed in stable, but critical condition.
Rosenbaum points out the stabbing may have been prevented and pleads with other SEPTA passengers not to take the law into their hands.
"Let the police handle these things. SEPTA has a police force, we have a police force, and SEPTA police did get there in a very timely fashion," said Rosenbaum. "Just not fast enough to catch the perpetrator."