(CNN) -- Peter Hanson kept his nerve in the face of a swashbuckling late charge from World No.1 Rory McIlroy to win the European Tour's Shanghai Masters Sunday.
The 35-year-old Swede held on to win by a single shot on 21-under-par 267 at Lake Malaren for the biggest win of his career.
He looked set for an easier passage to his sixth Tour win when he went four clear with only five holes to play, but McIlroy had other ideas as he eagled the 15th and birdied the 16th to close to within two shots.
Both players missed the green on the par-three 17th, but after McIlroy had put the pressure on by recovering to a foot, Hanson holed a pressure putt for his par from 15 feet.
It proved a vital save as he again ran into trouble on the testing 471-yard 18th, his second shot plugging next to a bunker by the side of the green.
A deft recovery shot limited the damage for the Swede, while McIlroy narrowly missed the birdie putt which would have taken him into a playoff.
"It was a little bit tense," Hanson told the official European Tour website. "Rory made a tremendous effort with his eagle on 15 and birdie on 16.
"He played great today -- the shot into 15 was true class. He was the one putting pressure on me even though I had those four shots. I think my putt on 17 was a big one," he added.
"I'm a little disappointed," the 23-year-old McIlroy admitted. "He deserved it. To go out with the lead and play the way he did and shoot 67 is very impressive. He was going to be very tough to beat today."
England's Luke Donald and Ian Poulter, two more of Europe winning Ryder Cup team in Chicago last month, finished third and fourth in the big money event.
Meanwhile, Nick Watney carded a stunning 10-under 61 to win Malaysia's $6.1 million CIMB Classic, a PGA Tour sanctioned event.
It left him on 22-under 262 at Mines Resort and Golf Club, one shot clear of defending champion Bo Van Pelt and Robert Garrigus.
14-time major champion Tiger Woods threatened to steal the show on the final day with six birdies in his first 10 holes, but his charge slowed on the back nine and he settled for an eight-under 63 to tie for fourth with Brendon de Jonge and Chris Kirk.
Woods will head to China to play in a one-round exhibition match against McIlroy Monday.