The body of the unidentified man killed in the blaze was discovered in the rear of the third floor of the shelter, said Deputy Batallion Chief Gary Appleby. The body was taken to the medical examiner's office.
An unidentified man was in critical condition at St. Agnes Medical Center with severe burns over 70 percent of his body.
One unidentified firefighter was released from Hahnemann University Hospital after treatment for back pains, a spokesman said.
At least four shelter residents escaped unharmed from the blaze in the converted three-story rowhouse on the northwest corner of 50th and Walnut streets, officials said. The blaze also seriously damaged an adjacent rowhouse, from which five people escaped unharmed.
The fire was reported at 10:54 p.m., said Appleby. A second alarm was struck at 11:01 and the blaze was declared under control at 11:34.
Louis Souder, of the city's Adult Services Division, said the three-story shelter is owned and operated by the Thomas Avenue Care Centers. The city contracts with the shelter to provide beds for the homeless and about 16 homeless people were living at the shelter when the fire broke out.
Heavy fire was visible on the first and second floors when firefighters arrived, Appleby said. Four victims were rescued by firefighters, one child leaped from an upper window and at least four others were rescued by neighbors and passersby.
Calvin Hall, 27, said he was sitting outside his house on 50th Street near Chestnut, about a half-block from the fire site, when he heard glass breaking and noticed that the shelter was on fire.
"I just got up and ran up there to see if I could help," Hall said. "I knew my brother's girlfriend was in there and she has three babies."
Hall said he and two of his brothers, Kevin, 17, and Steven, 19, and several other men used the fire escape and a ladder to reach the woman's third-floor window. According to Hall, the men could hear the whine of smoke detectors through the crackling fire.
"We went up and we started passing the babies down," Hall said. "We passed down three babies and then we helped the mother down."
Hall could identify the mother only by her nickname, "Dee."
"It's a shame," said an unidentified onlooker as firefighters fought the smokey blaze. "All these people were homeless before and now they're homeless again."