Dyson finished at 20-under 268. England's Oliver Wilson shot a 65 and shared second place with Northern Ireland's Rory McIlroy, who birdied the last hole for a 69.
"This is like our fifth major, a massive tournament at the home of golf and I've shot 66 to win it," Dyson said. "I'm absolutely buzzing. Darren Clarke has just said to me 'Take your time and enjoy it _ it does not get any better than winning at St. Andrews.'"
This was Dyson's second victory in six weeks after winning the Dutch Open in August. He made three 20-footers in his opening burst. He also birdied the 12th and his only bogey came at the 17th.
His win earned him spots in the World Match Play at the end of this month and the HSBC Champions event in Shanghai that follows. Dyson also qualifies for next year's Bridgestone Invitational in Akron, Ohio, and now leads the Ryder Cup standings for next year's matches in Wales.
McIlroy's share of second place earned him $417,000 and took him to the top of the Race to Dubai standings ahead of Martin Kaymer and Paul Casey.
Richie Ramsay of Scotland and Rafael Cabrera-Bello of Spain shot 69s to finish at 272. Third-round leader Luke Donald of England shot a 73 and ended at 274.
Ireland's Padraig Harrington enjoyed his best round of the week, a 66 on the Old Course, to finish tied at 278 with, among others, South Africa's Ernie Els (68). England's Lee Westwood was at 275 after bogeys on the last two holes left him with a 69.