Starting his final round three behind Ian Poulter, the 2008 European Number One birdied the first two holes and then sank his approach to the 452 yard third just as current Race to Dubai leader Martin Kaymer did on Thursday.
Four under par for his first three holes Karlsson was 13 under par and one ahead of Poulter, who had resumed two in front of the field.
With Graeme McDowell only one under for his first 12 holes and therefore three under for the tournament Kaymer looked certain to be crowned this season's Number One.
The Ulsterman needed a top three finish just to have a chance and he was in joint 26th spot.
Karlsson came back to earth with bogeys on the fourth and sixth - both par threes - and with Poulter dropping a shot at the third the pair were joint leaders with defending champion Westwood and Spain's Alvaro Quiros.
Westwood, however, then bogeyed the 461 yard eighth.
Karlsson started for home with back-to-back birdies and the second of them edged him ahead of Poulter once more at 13 under.
Westwood, Quiros and Paul Casey were joint third only two back.
McDowell, meanwhile, finished strongly with a 68 for six under. He had even overtaken Kaymer in the event, but in joint 15th spot he needed most of those ahead of him to collapse totally over the closing stretch - and he knew that was not going to happen.
Poulter, trying for a second successive win, responded immediately. He also birdied the 11th and then chipped in at the next to go ahead again.
It was starting to look between the two of them with Quiros and Casey two shots further back and then Westwood four behind following his bogey at the 12th.