The 23-year-old, in his 50th career start, chipped in for a birdie at the 17th to reach 10 under.
Five-time major winner Phil Mickelson, without a win since the 2013 Open, holed from off the green to par 18 and is in a three-way share of second.
Wales' Jamie Donaldson, the remaining Briton, is nine back after a 69.
Berger, the 2015 PGA Rookie of the Year who surged clear of the field at the halfway stage after a 64, briefly lost the lead on day three when he double bogeyed the par three 14th after finding the water.
But consecutive birdies from the 16th at the TPC Southwind course revived the round for Berger, who has already has three top-10 finishes this season.
Mickelson hit his third shot 22 feet past the hole on the par-four 17th and returned his first bogey in 22 holes, but having driven into a fairway bunker at the last, he rolled in an 18-footer for a round of 68 to remain at seven under.
Dustin Johnson, the 2012 winner and the highest-ranked player in the field at sixth in the world, carded a 73 to fall eight adrift.
We've launched a new BBC Sport newsletter ahead of the Euros and Olympics, bringing all the best stories, features and video right to your inbox. You can sign up here.
American Daniel Berger moved closer to a maiden PGA title after a round of 69 kept him three shots ahead at the St Jude Classic in Memphis.