Busch came out in front following a round of pit stops and then survived a series of accidents as the race ran through its closing laps.
Marcos Ambrose, who led 51 laps and was trying to win at Watkins Glen for the third straight time, crashed following a restart with six laps and remaining. He was in 10th place at the time.
When the green flag came out again there were only two laps left and Busch was able to fight off Keselowski by a half second.
It was Busch's third win of the season and the 27th of his Sprint Cup career.
Points leader Jimmie Johnson finished eighth.
Senate Democrats to pull all-nighter on climate change
Susan Sarandon 'very excited' about daughter's pregnancy