Horschel took a five-shot lead into the final round, but saw his advantage reduced to two for the second time when playing partner Aaron Wise two-putted the par-five 15th for his fourth birdie of the day.
However, Horschel then holed from 53 feet for an eagle – his first in 573 holes in the event – to effectively seal victory before dropping just his fourth shot of the week on the 17th.
A closing 72 gave Horschel a four-shot winning margin over Wise, with defending champion Patrick Cantlay and Joaquin Niemann two shots further back.
“It feels pretty good,” Horschel told Sky Sports. “I felt comfortable all day, never felt like my heart was beating too fast, never was worried about anything and just trying to play within myself and play my own game.
“I felt like that was all I needed to do, knowing the conditions were tough and if someone went out and played a really special round of golf and nicked me, then hats off.
“But I played really solid today and really happy with it. I’ve never won a tournament with my wife and kids at it and for them to finally be here at a tournament I’ve won is so special.”
World number two Jon Rahm, who had a six-shot lead after 54 holes last year before being informed he had tested positive for Covid-19 and had to withdraw, carded a closing 69 to finish in a tie for 10th.
Rory McIlroy shot rounds of 73 and 74 over the weekend to slip into a tie for 18th, the four-time major winner covering the front nine in 41 on Sunday before repairing some of the damage with birdies on the 12th, 14th and 15th.