Allen Deaver of Livingston Parish told authorities he'd killed Sydney Maurice Gregory on February 7, 1993, police said Thursday.
Gregory, who was in his 20s, was beaten and left inside a mobile home that was set on fire in Seven Springs in Wayne County, North Carolina.
Authorities said the home reeked of kerosene and the body had blunt force trauma to the head.
However, after years went by with no arrest, police despaired of finding his killer.
'This came out of the blue,' Major Tom Effler said of learning of the crime. 'It wasn't even on our radar.'
Police investigated the crime for two months to make sure facts lined up with his story.
Effler said Deaver began talking with his minister about the crime while he was hospitalized in February. As the conversation continued, his vital signs changed, prompting a nurse to cut the discussion short, Effler said.
When Deaver was discharged, the minister visited him at his Livingston Parish home - this time with a detective present who listened but didn't question Deaver - to continue the conversation.
The detective then contacted Wayne County authorities and the North Carolina State Bureau of Investigation, which found an unsolved arson and murder case matching the description Deaver gave, Effler said.
Deaver didn't say why he killed his daughter's husband, Effler said. Deaver and his wife, Karen, lived next door to Gregory and his wife. What Deaver's daughter thinks of the revelation is unclear.
'It's my opinion that because he started talking about it while in the hospital, maybe his conscience was bothering him or he might have wanted to just get it off his chest before he meets his maker,' Effler speculated.
Gregory was found in the bedroom of his burned mobile home. His death certificate lists blunt force trauma as his cause of death. No one else was injured.
Effler said Deaver moved to Walker, Louisiana, shortly after the slaying.
Sonny Kilpatrick, who was was chief of the Pricetown Volunteer Fire Department in 1992, said he responded to the call about a fire at the mobile home and found Gregory's charred body.
'He was actually in his bed, in his bedroom. It was a pretty gruesome sight. We knew he was there a long time before we found him, just because of the smell. It was not pleasant,' he told WNCN.
He said it was always a little suspicious how Deaver moved away from the crime scene a few months after.
'It looked like he might be a little guilty because he left the scene. He moved away and stayed away for a long time, but nobody really knew for sure,' he said.
A Wayne County grand jury indicted Deaver on a charge of first-degree murder Wednesday. Effler said deputies from the Livingston Parish Sheriff's Office arrested him on a fugitive warrant and he's being held in Louisiana without bond at the parish jail.