This happened Friday night at around 8:13 p.m. near 55th and Spaulding in the city's Gage Park neighborhood.
Police said the two men were arguing when one of them pulled out a gun.
Both were shot as they struggled over the weapon, police said.
A 42-year-old sustained multiple gunshot wounds. He was taken to Advocate Christ Hospital in Oak Lawn where he died.
A 33-year-old was shot multiple times. He was also rushed to Advocate Christ Hospital where he was last listed in critical condition.
Area One Detectives are investigating.