Taylor was set to make $30.75 million had Buffalo brought him back under his previous deal. Terms of the new contract were not disclosed by the team, which had until Saturday to make a decision on Taylor's 2017 contract option.
"We are excited about the opportunity to keep Tyrod with the Bills," coach Sean McDermott said in a statement. "I've gotten a chance to know Tyrod and study him over the past several weeks and he is both a great person and competitor. (General manager Doug Whaley) and I are confident this was best move for the Bills at this time."
Taylor has served as Buffalo's starting quarterback for each of the last two seasons. The 27-year-old threw for 3,023 yards with 17 touchdowns and six interceptions in 15 games in 2016 and rushed for 580 yards and six touchdowns.
Taylor has thrown for 6,257 yards with 37 touchdowns and 14 interceptions in 43 career contests and rushed for 1,284 yards and 11 TDs since being selected with the sixth-round pick by the Baltimore Ravens in the 2011 draft.
The Bills reportedly reached out to veteran quarterback Brian Hoyer prior to announcing Taylor's deal.