Gallacher was 10-under over the final 10 holes of the third round to advance to 16-under 200 after 54 holes. He's two strokes ahead of Rory McIlroy, who led after each of the first two rounds.
McIlroy had an eagle, three birdies and two bogeys in a 3-under 69 Saturday and is at 14-under for the tournament.
Thorbjorn Olesen had a bogey-free 65 and Brooks Koepka turned in a 70 Saturday that left them tied for third at 12-under. Three other players are at 11-under with one round to play.
Tiger Woods, who played in a group with Gallacher and McIlroy the first two days, was 2-under 70 Saturday, which lifted him into a tie for 37th but still 11 strokes back of the lead.
Gallacher opened his round Saturday with seven pars and dropped a stroke with a bogey at the par-4 eighth that left him seven strokes off McIlroy's lead.
A birdie at the ninth hole got him going and he started his second nine with three more birdies before an eagle at the 550-yard, par-5 13th. He had a par at 14 but closed with four consecutive birdies.