The shooting happened around 1 p.m. Tuesday in the 3200 block of Princeton Avenue.
According to police on scene, the father and his 38-year-old son got into an argument while driving in their car. During the argument they pulled over and then the shooting occurred.
An off-duty firefighter gave aid to the son at the scene before he was taken to Aria-Torresdale Hospital with a gunshot wound to the chest.
He is in critical condition.
The father surrendered to officers and a weapon was recovered, police say.
The view from Chopper 6 showed a number of police officers on the scene.
There was no immediate word on any charges.