Busch's No. 18 Toyota took the checkered flag 2.066 seconds ahead of his Joe Gibbs Racing teammate Stewart's No. 20 Toyota.
Busch gave Toyota its first-ever Sprint Cup victory.
Busch's victory came after Carl Edwards, who was dominant early on, saw his engine blow up with just 53 laps remaining at the Atlanta Motor Speedway. From that point, it was all Busch to the checkered flag.
"It was an awesome piece of driving by Joe Gibbs Racing, just unbelievable to be able to run like that," Busch said. "(Carl) had a great car too, but he had some issues and to run 500 miles you can't have any."
Edwards had driven to victory Saturday at the Nationwide Nicorette 300.