Dawkins' new deal is worth $60 million, sources told ESPN's Adam Schefter.
The 26-year-old was set to become a free agent after the 2020 season.
Dawkins has become one of Buffalo's most reliable offensive linemen since the team selected him in the second round of the 2017 NFL Draft. He's started 45 games for the Bills over the last three seasons, including 42 consecutive starts.
Buffalo also gave head coach Sean McDermott a six-year contract extension earlier this week.