It happened at 12 a.m. Monday at 27th and Tasker streets.
Police arrived to find two 16-year-old boys and a 17-year-old boy who had been struck by bullets.
One of the 16 year olds and the 17 year old were shot in the thighs. The other 16 year old was shot in the lower back.
That boy was taken to Children's Hospital of Pennsylvania. The other two boys were taken to Penn Presbyterian Medical Center.
All were said to be stable.
Police were working to determine if the teens were the intended targets or if they were hit by stray gunfire.
"We know at least 12 shots were fired from a semiautomatic weapon or weapons," said Philadelphia Police Chief Inspector Scott Small. "We found 12 spent shell casings. However, where we found the shell casings - they were in two separate groups. So it appears there was some sort of shootout between two people or two groups of people."
Video from the Action Cam at the scene showed a number of vehicles that were damaged by bullets.
"We also found three vehicles that were hit by gunfire," said Small, "which was another indication that the shooters were firing in opposite directions."
Police are checking surveillance video from both real-time, city-owned cameras and private cameras in the area as they work to determine what led to the gunfire and who was responsible.