The shooting happened at about 3 p.m. Monday afternoon, just blocks from where Independence Day festivities had wrapped up hours beforehand.
Philadelphia police said that the drivers of two cars had stopped at the busy intersection of Second and Market streets in Old City when a verbal fight began.
At one point, police said one of the drivers threw a bottle at the other car. According to authorities, a gun was then drawn and shots were fired.
Police said a 20-year-old man was shot twice. He was taken to the hospital and placed in critical but stable condition.
Two men were taken into custody and at least one gun was recovered, police say.