Perez, 41, sealed his first title in almost a year despite carding a modest 3-under 69 in the final round, courtesy of a strong start with three birdies in the first four holes.
He managed only to make par on the back nine but did enough to finish the tournament with a 24-under 264 to take home $1.26 million and 500 FedEx Cup points.
Perez's feat comes after a long recovery from a shoulder injury last year that threatened to derail his career.
The bulky golfer admitted he never expected to reign supreme in the sweltering conditions in Kuala Lumpur.
"Unreal. I think I'm the last guy that expected to win this week, to be honest with you. I did not think I was going to win this week," Perez said. "I really can't explain it. It's been an amazing 12 months. I can't explain it, but I hope it continues."
Perez also confirmed he will be back to defend his title next year.
"I'll be here every year. Every year of the tournament, I'll be here," he said. "It's been very good to me. The tournament's been fantastic."
Bradley took home the runner-up spot after he carded an unblemished 5-under 67 to finish at 20-under 268.
Defending champion Justin Thomas finished tied for 17th place.
Thomas had been in terrific form coming into the event but failed to lift his game in his mission for a three-peat.
"I was definitely low on gas. It's been a great but long year, for sure," Thomas said.