Bradley shot an even 71 to move to 4 under for the tournament, a shot ahead of Schwartzel, who tied the course record with a 65 after he came into the finale at 3 over.
Schwartzel played the kind of golf that helped him win the Masters in dramatic fashion in April, with a run of five birdies on the front nine that put him in a tie at 2 under with Bradley, who dropped shots at Nos. 1, 5, and 6 before a birdie at the 7th halted the slide.
A 20-foot putt for birdie on the 5th hole kick-started Schwartzel's round and he took the momentum into the turn when he chipped in from the greenside bunker on No. 9 after his approach was long.
"What he (Schwartzel) did in the middle part of that round was pretty amazing," said Bradley. "It felt like he was going to birdie every hole."
Rory McIlroy, the joint overnight leader at 4 under, made par on each of the first six holes before a wild second shot on No. 7 forced him to take an unplayable. He closed the front nine with three bogeys to drop to 1 under.
Bradley made birdie on Nos. 10 and 17, keeping him a shot ahead of Schwartzel.
The South African had another long putt for birdie, and with Bradley facing a nervy 5-footer for par, the event went down to the wire. There was to be no dramatic finish for Schwartzel this time, however, and his attempt trickled agonizingly past the right edge of the hole.
"It was a lot more intense that I thought it was going to be," said Bradley. "I was nervous, this felt like a tournament on the PGA Tour. I was very nervous. I had been thinking it was going to a playoff considering how my year has been going."
While Schwartzel and Bradley were embroiled in their own private battle, McIlroy flirted with making a comeback before another wild tee shot at the 15th left him needing to chip in from off the green for par. Still 1 under at that stage following another run of pars, a bogey at No. 16 -- when he missed the green -- ended his chances.
"I obviously still had a chance going into the back nine," said the U.S. Open champion. "I just didn't do enough when I needed to."
Darren Clarke's opening 77 was too big a deficit for him to overcome, and despite reaching the turn at 1 under, four bogeys on the back left him at 9 over for the two rounds.