The terms of the agreement are unknown.
After throwing for 3,800 yards and 20 touchdowns in 2016, Bradford started off 2017 strong.
Keenum revitalized his career in 2017, leading the Vikings to an 11-3 record and a spot in the NFC championship game as their starter after Sam Bradford suffered a knee injury.
Keenum threw for 318 yards and a touchdown in the Vikings' divisional-round win over the New Orleans Saints, with his improbable heave to Stefon Diggs in the closing seconds clinching the win. 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 Broncos had three quarterbacks start games this past season - Trevor Siemian, Paxton Lynch and Brock Osweiler - but it was a bumpy ride on offense as the Broncos were among the league leaders in turnovers and offensive coordinator Mike McCoy was sacked in November.
Yahoo's Charles Robinson reports that Broncos adviser and former head coach Gary Kubiak advocated for Keenum over pending free agent and former Washington Redskins quarterback Kirk Cousins.
Keenum, who is 20-18 in his career as an National Football League starting quarterback, will reunite with senior personnel advisor Gary Kubiak, who coached Keenum in Houston for two seasons.
The six-year veteran picked the ideal time for a career year before cashing in during free agency. Denver has the No. 5 pick in April's draft.
At the National Football League scouting combine this month, Elway said, "we'll continue to look at all of the options out there when it comes to quarterback". "That was always fluid, too, but he was our target".
After sitting out the playoffs in each of the last two years following their Super Bowl 50 triumph, the Broncos have apparently found their next signal-caller.
The Broncos must now build around Keenum by bolstering the offensive line.
Despite his swings and misses at QB before, Elway said, "Believe me, I'm not done swinging and missing". "Obviously we have to get better at that position". We didn't play well there a year ago. There were some things that we should have done differently that we didn't do.