The body of the 80-year-old man was recovered after emergency services were called to the fire at Croydon, in Sydney's inner west, about 4am on Wednesday.
An elderly woman, who left the home about three hours before the fire, had been assisting NSW Police who were searching for another resident, a man aged in his 50s.
Overnight on Wednesday, NSW Police charged the man with murder, destroy or damage property with intent to endanger life, and armed robbery.
Police allegedly found a machete concealed in his pants when he was arrested.
Six trucks and almost two dozen firefighters responded to the fire, entering the back of the property due to the "intense" flames at the front of the single-story, red-brick house.
Part of the roof collapsed as firefighters were inside, forcing them to retreat, Fire and Rescue NSW said.
Footage taken after the blaze was extinguished shows a large portion of the roof caved in and firefighters examining other parts of the Irrara Street home.
The two men and the elderly woman are all believed to be related.
The 50-year-old will appear before Gosford Local Court on Thursday.