Rory McIlroy overturned a three-shot final-round deficit to squeeze past South Africa's Louis Oosthuizen and win the Deutsche Bank Championship by one stroke at TPC Boston in Norton, Massachusetts.

The world number one's final-round 67 gave him victory with a 20-under-par total of 264, just ahead of former Open champion Oosthuizen, whose late surge was not quite enough as he finished with a 71.

McIlroy, who won the PGA Championship by a record eight strokes three weeks ago, had made a blistering start to his final-day challenge with three birdies in his first four holes.

The 23-year-old Northern Irishman was fortunate to pull back on the fifth hole when his bogey five beat a costly double-bogey by Oosthuizen, who fell further behind when McIlroy birdied the sixth and eighth.

A run of seven straight pars from Oosthuizen promised little before birdies on the 13th and 15th hauled him back within a single stroke. After both bogeyed the 17th, pars on the last were enough to give McIlroy the title.

Tiger Woods shot a strong five-under-par final round of 66 to finish just one shot behind Oosthuizen on 18 under - four shots clear of Phil Mickelson, who also finished with a 66, and Ryder Cup hopeful Dustin Johnson (70).

Lee Westwood's three-under-par 68 left him with an eight-under total of 276, while Luke Donald and Ernie Els both shot disappointing 70s to finish on five-under 279.