The home Debra Walsh of on the corner of Atlantic and Brown avenues went up in flames at around 1:00 p.m. Wednesday afternoon.
Firefighters say Walsh fell asleep in the living room with a lit cigarette.
Bensalem Fire Department Chief Robert Sponheimer said Walsh had no working smoke detectors.
Sponheimer says though Walsh's dogs woke her up, "if it wasn't for a passerby who saw the smoke, it could have been a real tragedy."
That passerby, Joe MacAdams, was returning from taking his granddaughter to her driver's test. They spotted smoke, then heavy flames.
Neighbors told him Walsh was trapped, so he broke down the fence and ran to the back. He cut his hand reaching through a broken window to open the door from the inside before charging in and pulling her out.
"I can't believe she survived, I was only in there 30 seconds to pull her out and I couldn't breathe," MacAdams said.
Walsh was rushed to Aria Health Torresdale Campus with smoke inhalation. Her beloved Pomeranian and Quinlan's Labrador puppy perished.
"She just kept saying 'my dogs are in there,' at one point, she tried to get back up, we had to pull her back down in the chair," MacAdams said.
Action News is told the fire was mostly contained to the living room, but there was extensive smoke and water damage to the rest of the home. Lower Bucks Red Cross will be helping Walsh, as well her friends Joe Springhart and Mary Quinlan who were staying with her, but weren't home at the time of the fire.
Friends explain Walsh was planning to sell the house her mother left her. It is a house authorities say may not have been insured.
While their beloved pets and possessions are gone, they're grateful to Joe for saving Debra.
"I can't thank them enough because Christmas is going to be bad enough, but it will never be as bad as if it was a real tragedy," Quinlan said.
Joe shrugs off his actions, but his granddaughter Sarah Bedesem couldn't be more proud.
"It's just something anyone I think would do," Joe said.
"Even though he doesn't say it, I think he's a hero," Sarah responded back.