Bowyer was leading when his tank ran dry with two laps remaining, allowing Stewart to grab the top position and follow up last week's victory at Chicagoland Speedway with another win.
The two-time Sprint Cup Series champion notched his second triumph of the season and the 41st of his career.
With the win, Stewart took over the points lead of the Chase, forging a seven-point advantage over Kevin Harvick, who finished 12th Sunday.
Keselowski, who came in second in New Hampshire, is 11 points behind.
Notable deaths of 2014 [PHOTOS]
UPI horse racing roundup