Sergio Garcia carded the best round of the tournament but it came just too late to give him a first major title. The Spaniard shot a 66, which included an extraordinary run of eagle-birdie-birdie between the 15th and 17th, to tie for fourth with Bernhard Langer.
The German Ryder Cup captain carded an even-par 72 after threatening to become the eventual winner.
Despite the strong showing from other Europeans, it is now five years since one won a major tournament.
Garcia's three-under total gave him the clubhouse lead for some time but he was eventually eclipsed by Phil Mickelson and runner-up Ernie Els.
 | A couple of good breaks could have made a big difference  |
"A couple of good breaks could have made a big difference, unfortunately I didn't get them at the right moment," said Garcia.
"It's just been a tough week. I have been playing nicely but just haven't gotten anything out of my rounds.
"The first couple of days I shot 72 and I don't think I deserved more than a 69 at the most."
Compatriot Jose Maria Olazabal failed to find his form, slumping to a 75 and a six-over-par total.
Langer was right in contention until the par-five 15th, where he took a double-bogey seven.
He had suggested he might win a third Green Jacket with birdies at the first, second and eighth.
But the 46-year-old struggled with his swing on the inward nine and a bogey five at the final hole denied him an outright fourth place.
German Alex Cejka, who had been second after 36 holes, shot a final round of 73 to finish on three over par.