After it became a big hit, he was reluctant to revisit the role. But his agent convinced him the money was too good to pass up.
"I didn't want to be the 'Home Alone' dad for the rest of my life," he told Yahoo News in 2013.
He was born March 7, 1946, in Washington, D.C., and grew up performing in local theater. One of his memorable early roles was as a disabled Vietnam War veteran in the 1981 film Cutter's Way.
He was active in film for the next decade, playing Tom Hanks' rival in Big, actress Geraldine Page's son in The Trip to Bountiful and in the movies The Pelican Brief, Beaches, Gladiator, Rambling Rose and After Hours.
He earned an Emmy nomination for playing Vin Makazian in The Sopranos. Heard said in a 2015 interview with The A.V. Club that he got the part after running into series star James Gandolfini in a gym. His time on The Sopranos ended like it did for many other actors there — with his character's death.
Heard said he approached series creator David Chase and said "'Why me? I'm a detective! You can use me forever!' And he told me, 'John, there's a rule in television. Somebody has to die that the audience likes.' I said, 'They like me? How do you know they like me?' He said, 'Well, they like you. So we're gonna kill you.'
"My mother said, 'Why do you have to die in everything?' I said, 'You're telling me? I could've made a fortune!"
Other television roles kept Heard busy. He acted in CSI: Crime Scene Investigation, Elementary, Prison Break, Modern Family and Entourage. One of his favorite jobs came in the original Sharknado television movie in 2013.
"I knew it was going to be a cult classic," he told the Baltimore Media Blog last year. "It's just ridiculous. I thought it would replace people
calling me the 'Home Alone' dad."
Fellow actor Michael McKean paid tribute on Twitter Saturday: "RIP John Heard. Never not good."
Actor James Woods said Heard was "a complex and brilliant man and a true artist. I will miss him dearly."
Heard was married and divorced three times, including briefly to actress Margot Kidder. He had three children.