Charl Schwartzel won the Madrid Masters after a flawless five-under-par 66 in the final round left him three shots ahead of second-placed Ricardo Gonzalez.
The South African took a one-shot lead into the final round following scores of 69, 64 and 66 on the par-71 Club de Campo course, and he was in imperious form again, racking up two birdies on the front nine and three more on the way back.
Argentinian Gonzalez, who came from nowhere with a nine-under-par 62 in the third round, threatened in patches to overthrow the South African atop the leaderboard, as did Englishman Robert Rock, who launched an early assault on the way to a stunning seven-under-par 64.
Pablo Larrazabal had two early birdies but he lacked the same spark which ignited his nine-under 62 on Saturday and a 67 meant he finished third on 15 under.
Ultimately the classy Schwartzel was too strong, despite admitting earlier in the tournament he had been struggling with injury and illness.
"I played very well again today," said the 24-year-old after his third European Tour win.
"I woke up this morning and felt a lot better than I have been feeling.
"I thought I ground it out nicely all week. I just managed to keep it going today."
The par-five seventh hole was a turning point in the battle between Schwartzel and Gonzalez.
The former hit his second shot way right of the green, but produced a well controlled chip out of the trees to within three feet and sank the putt for birdie.
Gonzalez, however, had a five-footer for birdie which slid wide, and he had to settle for a seventh successive par, allowing Schwartzel to creep three shots ahead.
Rock, four groups in front, increased the pressure, his birdies coming in clusters at two, three and four, seven, eight and nine and then 12, 13, and 14, but Schwartzel turned the screw midway through the back nine.
A sublime approach shot at 13 left him with a six-foot putt for birdie which he holed, and he moved to 18 under on the next hole with some equally impressive short play.
Another birdie followed on the par-three 17th after he put his tee shot within six feet, all but clinching the title.
Schwartzel admitted he was glad he took his father's advice on Friday to not withdraw from the competition.
He had considered pulling out because of a shoulder problem and a virus, but persevered following a telephone conversation with his father, George.
"I spoke to my Dad and he told me to tee off and see how I feel," he said.
"I haven't felt great. I had a shoulder problem and some sort of flu bug which has been going around - several other players on the Tour have had it.
"I've been waking up in the mornings feeling achy and sore and not having any energy, but this morning I actually felt a bit better and I'm glad I kept my swing going the way it has been the past three days."
Rock was delighted with his final position and a performance which comprised scores of 70, 65, 71 and 64.
"I played great the front nine," he said.
"I made a real mistake on the 10th - it was a wrong decision from the tee.
"But I'm absolutely happy with how I've done. My goal for the week was to finish in the top 10 and it's great.
"I have to check if I've secured my card. Next week is also important but if I play half decent, I'll get it done."
Collated final round scores & totals in the European Tour Madrid Masters, Club de Campo, Madrid, Spain
(Gbr & Irl unless stated, par 71)
265 Charl Schwartzel (Rsa) 69 64 66 66
268 Ricardo Gonzalez (Arg) 69 69 62 68
269 Pablo Larrazabal (Spa) 68 72 62 67
270 Robert Rock 70 65 71 64, Alvaro Quiros (Spa) 74 66 66 64
272 Paul Waring 69 67 67 69
273 Carlos Del moral (Spa) 69 67 67 70
274 Damien McGrane 69 68 68 69, Thongchai Jaidee (Tha) 69 69 67 69
275 Jesus Maria Arruti (Spa) 72 67 70 66, Ignacio Garrido (Spa) 70 68 67 70, Rafael Cabrera Bello (Spa) 74 68 66 67
276 Andrew Tampion (Aus) 75 63 65 73, Steve Webster 68 69 71 68, Sion Bebb 69 68 68 71
277 Tom Whitehouse 71 70 66 70, Kyron Sullivan 71 68 68 70, Martin Kaymer (Ger) 71 69 67 70, James Kamte (Rsa) 68 70 72 67, Fredrik Andersson Hed (Swe) 72 69 71 65
278 Joakim Backstrom (Swe) 70 69 71 68, Magnus A Carlsson (Swe) 67 70 73 68, Patrik Sjoland (Swe) 70 69 70 69, Steven Jeppesen (Swe) 68 67 71 72, Pelle Edberg (Swe) 72 70 67 69, Angel Cabrera (Arg) 71 69 70 68, Sam Little 71 70 71 66, Marcus Fraser (Aus) 67 66 74 71
279 Francis Valera (Spa) 69 70 71 69, Steve Alker (Nzl) 73 66 71 69, Leif Westerberg (Swe) 75 66 72 66, Paul Lawrie 72 68 72 67, Miguel Angel Jimenez (Spa) 69 71 72 67, Eduardo De La Riva (Spa) 71 71 65 72, Paul Broadhurst 67 72 69 71, Jose Manuel Lara (Spa) 69 69 72 69
280 Lee Slattery 73 66 69 72, Stephen Gallacher 71 65 71 73, Mattias Eliasson (Swe) 72 69 70 69, Francois Delamontagne (Fra) 70 72 71 67, Phillip Archer 71 69 69 71, Bradley Dredge 73 66 70 71
281 Jean-Baptiste Gonnet (Fra) 69 68 73 71, Jarmo Sandelin (Swe) 75 67 73 66, Rafael Echenique (Arg) 72 70 68 71, Joel Sjoholm (Swe) 71 68 75 67, Benoit Teilleria (Fra) 71 71 69 70, Santiago Luna (Spa) 68 68 71 74, Emanuele Canonica (Ita) 71 70 74 66, Miles Tunnicliff 74 66 71 70
282 Gabriel Canizares (Spa) 71 71 73 67, Ariel Canete (Arg) 69 71 70 72
283 Pedro Linhart (Spa) 71 70 74 68, Lee S James 73 69 75 66, Richard Sterne (Rsa) 72 67 73 71, Peter O'Malley (Aus) 70 71 72 70
284 Miguel Angel Martin (Spa) 71 70 70 73, Edoardo Molinari (Ita) 75 67 68 74, Simon Wakefield 72 69 71 72
285 Gary Murphy 70 71 72 72, Stuart Manley 71 70 70 74, Alfredo Garcia-Heredia (Spa) 72 70 70 73, Jean-Francois Lucquin (Fra) 70 72 76 67, Julio Zapata (Arg) 70 69 74 72
286 Jose-Maria Olazabal (Spa) 70 72 71 73, Carlos Balmaseda (Spa) 71 71 73 71
290 Paolo Terreni (Ita) 71 65 72 82, Peter Fowler (Aus) 72 70 76 72
291 Peter Baker 69 73 76 73, Pablo Martin (Spa) 73 67 80 71