Broncos GM and President of Football Operations John Elway announced the news on Twitter Wednesday:
The two-year contract is worth $36 million, with $25 million fully guaranteed, and an additional $2 million in incentives, according to Mike Florio of ProFootballTalk.
He spent the 2017 season with the Minnesota Vikings and threw for 3,547 yards and 22 touchdowns against seven interceptions.
"I think you dream about it, it's always a dream, it's why we play the game to play well and do what we do," Keenum said of his season, per Sid Hartman of the Star Tribune. "To see it come true has been incredible."
Keenum was particularly brilliant in the second half of the season when he threw for 15 touchdowns against four picks while leading the Vikings to a 7-1 record. There seemed to be a fire lit under Keenum following the return of Teddy Bridgewater, whom most expected to take over after working his way back into game shape.
The fairytale ended in the postseason when the Vikings lost to the Philadelphia Eagles in the NFC Championship Game, but Keenum did enough to become one of the premier free agents on the market.
Those numbers are fine in the macro sense, but Keenum's best off as a mid-tier starter. He almost exclusively works underneath and between the numbers. That's nice as a stopgap, but it's not clear he can lead a franchise for the long term.
The Broncos have spent the last few seasons floundering at quarterback, so a mid-tier starter would be a vast improvement. The Cleveland Browns were the only team with a worse quarterback rating than Denver in 2017, and the Broncos have ranked in the bottom half of the league for three straight seasons.