The win has seen Mickelson move up to second place in the world rankings.
The 43-year-old started the day on two-over-par before ending on three-under with a five-under round of 66.
Mickelson hit a a total six birdies and one bogey to finish ahead of Sweden's Henrik Stenson.
Overnight leader Lee Westwood saw his two-shot lead evaporate with five bogeys and a birdie to leave him tied for third place on one-over with Ian Poulter and Adam Scott.
Meanwhile, Tiger Woods hit a round of 74 to give him a final score of two-over.