The 27-year-old held off Donald, who shot a three-under 68 and finished one back on 12 under par - his fifth second-place finish at the tournament.
Donald hit three birdies in four holes down the back nine but South Carolina-born Bryan took his first PGA title.
England's Ian Poulter shot 73 on Sunday to finish in an 11-way tie for 11th.
Bryan, who birdied four consecutive holes on the front nine and secured the lead with a birdie on the 15th, became the first native South Carolinian to win the Heritage in its 49-year history.
Former world number one Donald, who shared the halfway lead, is now ranked 96 in the world and without a PGA Tour title since 2012.
"After starting with a seven at the second, to bounce back, I'm pleased with the way I played this week," he told Sky Sports.
"I just need a tiny bit more off the tee and hopefully I can give myself some more chances."
Poulter was in fifth place going into Sunday's final round but carded four bogeys for his worst score of the week.
And despite recording his best-ever finish at the tournament, there was disappointment for the 41-year-old - who finds himself in a precarious position.
Playing on a medical exemption after foot surgery last year, Poulter needed to finish outright 12th or better to secure his playing card for the rest of the season.
But an 11-way tie for 11th, in the the penultimate event of his 10-tournament exemption, was not enough and he now has just one chance to collect the prize money he needs to secure his playing status.
"I'm a little hot under the collar right now. Today could have been a victory and I've let it slip," he told Sky Sports.
"To three-putt from 25 feet is unacceptable. I should have got it done today. I didn't do what I needed to do and shut out some of the putts I needed to.
"I played well enough to win the golf tournament today. I need to continue to work harder on the putting." - BBC -