Stewart, who wasn't in contention for most of the race, charged through the pack during final 10 laps took the lead from Juan Pablo Montoya in the closing stages.
He finished 0.8 seconds ahead of Montoya for the FedEx 400 title, notching his 48th career win in NASCAR's Sprint Cup series but his first since July 2012 at Daytona.
It was also Stewart's third career victory at Dover.
Jimmie Johnson, who led for 143 laps, ended in 17th after fading down the stretch.
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'
Beyonce flaunts bikini body, Blue Ivy in vacation pics