Johnson began the day three strokes behind third-round leader Spieth, and Johnson trailed by as many as five strokes on the front nine.
But Johnson collected four birdies between the ninth and 15th holes, while Spieth had a double bogey on No. 6 and a bogey on No. 9 to help Johnson get back in contention.
On the final hole of regulation, Johnson drove into the rough. Spieth made his par, and Johnson made an 18-foot putt to save par and force a playoff. Johnson's putt curled around the cup before dropping in.
Returning to the 18th hole, Johnson hit a 341-yard tee shot, the longest drive of the week, and hit a wedge to within 4 feet of the cup. Spieth missed his 25-foot birdie putt, and Johnson holed his to record his fourth victory of the year.
"I feel like the game is finally back in form like it was before the Masters," Johnson said. "I feel like I've got it back on the right track. I feel like I'm swinging well again."
For Spieth, the result was not as devastating as his 2016 Masters collapse, but it was not a positive showing.
"I didn't lose the tournament," Spieth said. "He won it. I thought that was a fun show. I was hoping it wasn't going to be that much fun."
Johnson finished the fourth round with a 4-under-par 66, while Spieth came in with a 1-under 69, as they both finished 72 holes at 13-under 267.
They finished four shots ahead of Jhonattan Vegas of Venezuela, who finished with a final-round 65, and Jon Rahm of Spain, who carded a 68. Both had four-round totals of 9-under 271.
Vegas birdied two of his first three holes and tied for the low round of the day and m oved up from seventh at the start of the day to tie for third.
Simpson recorded birdies on six of his first 13 holes while matching Vegas and Charley Hoffman for the low round of the day. Simpson moved up 28 spots to tie for sixth.