Haas fired a closing 6-under 66 to finish regulation at 13-under 203.
Bryant (67) and Thompson (68) finished at 10-under 206.
Overnight leader Tom Purtzer played himself out of contention, missing a flurry of putts.
Purtzer was done in by three straight bogeys from 10-12, and a double bogey at the 17th hole for a final round of 1-over 73 and a fourth-place finish at 9-under 207.
"I feel bad for Tom," said Haas, who made birdies at four of the first seven holes. "He's probably one of my two or three best friends out here. I thought maybe he and I might get into a playoff. I was fortunate the guys didn't make a bigger run at me there on the last few holes."
The victory was worth $247,500.