The 31-year-old carded a four-under 67 to finish seven under with Haas, who was one ahead overnight.
He then claimed the play-off with a par for his 15th professional win, but only his second on the PGA Tour.
World number one Jordan Spieth, the defending champion, birdied the last for a 73 and was tied 18th, seven back.
Playing partner Lee McCoy, the 22-year-old amateur who grew up next to the Copperhead course, followed his third-round 66 with four birdies in a 69 and finished fourth to qualify for the Houston Open.
Haas was two shots ahead into the closing stages, but having made par from a greenside bunker at the par-three 15th, he was unable to do so from a similar scenario at the next and was tied with Schwartzel, who birdied three of his final six holes, including a putt from 64 feet at the 13th.
At the first play-off hole, the par-four 18th, Haas put his tee shot with a three wood into the trees on the right and his second into a greenside bunker.
Schwartzel, the 2011 Masters champion, took an iron off the tee and was pin-high in two, before calmly two-putting to secure the title after Haas could not hole for par from 18 feet.
South African Charl Schwartzel won the Valspar Championship in Palm Harbour, Florida with victory over American Bill Haas at the first play-off hole.