It happened along Bustleton Avenue near Verree Road just after 11 p.m. Saturday.
Police say a BMW was travelling in the northbound lanes when it crossed into the southbound lanes and struck a Chevy travelling south.
The driver of the BMW, a 33-year-old man, was taken to Jefferson Torresdale Hospital where he is listed in stable condition.
The driver of the Chevy, a 41-year-old man was also taken to Jefferson Torresdale Hospital, where he remains in critical condition.
The crash caused a mess of the road way, and one of the smashed vehicles ended up on a lawn.
Detectives with the Philadelphia Police Crash Investigation Division are still trying to figure out what caused the crash.