Mohammed Iqbal died in hospital following the attack in Crookes Road at about 19:00 BST on Thursday, officers said.
Peshawa Ghaffour was due to appear before Sheffield Magistrates’ Court on Monday charged with murder.
On Sunday, a 33-year-old Sheffield man was arrested on suspicion of assisting an offender. He has since been bailed.
Mr Ghaffour, of Birkendale Road, Walkley, Sheffield, also faces charges of possessing a firearm, possessing a bladed article, possessing an offensive weapon when in a private place and assault by beating.
Meanwhile, a third man, aged 18, arrested as part of the investigation has now been bailed, the force said.
A post-mortem examination on Friday found Mohammed died from a single stab wound.