It happened at 8:00 p.m. Thursday in West Philadelphia, on Thompson Street near 50th.
Police say the gunman walked up to three men on a porch and started shooting.
The 21-year-old man was shot in the chest and pronounced dead at the Hospital of the University of Pennsylvania around 10:30 p.m.
A 15-year-old boy was among the victims and he was shot in the back. A 22-year old man was wounded in the right leg.
They were taken to the Hospital of the University of Pennsylvania in critical condition.