Edwards gambled on fuel late and "coasted" to his series-leading ninth victory this season.
Johnson needed just a 36th place finish to join Cale Yarborough as the only drivers to win the points title three times.
"We had a great race car and that's what made me most comfortable," Johnson said. "From the first lap I knew we had a car that was in the ballpark. This is the ultimate reward. We work so hard to put ourselves in this position. It's total teamwork and dedication."
In the final standings, Edwards was second, 69 points back of Johnson, while four-time champion Jeff Gordon failed to win a race this season for the first time since 1993, his rookie season.