Bradford's deal is for one year at $20 million, with $15 million guaranteed, according to ESPN's Adam Schefter. NFL Network Insider Ian Rapoport reported that Bradford has a second-year option at $20 million.
The contract cannot be finalized until the new league year opens on Wednesday at 4 p.m. ET.
The addition of Bradford is a welcome one for the Cardinals, who have been in need of a quarterback since Carson Palmer announced his retirement in January. The 38-year-old Palmer was named to the Pro Bowl three times, but his 2017 season was cut short by a broken arm that limited him to seven games.
Bradford, who was slated to be an unrestricted free agent on Wednesday, performed well in his first season with the Minnesota Vikings in place of an injured Teddy Bridgewater. The 30-year-old Bradford was not as fortunate in the 2017 season opener, as he sustained a non-contact left knee injury during Minnesota's 29-19 victory over the New Orleans Saints.
The injury was to the same knee that the 30-year-old had twice torn his ACL.
Bradford returned in Week 5 against the Chicago Bears, but he was pulled before halftime after aggravating the injury. He went on injured reserve and had arthroscopic surgery in November before being activated as Case Keenum's backup during the postseason.
A former Heisman Trophy winner and top overall pick of the 2010 NFL draft, Bradford has thrown for 19,049 yards with 101 touchdowns and 57 interceptions in 80 career contests with the then-St. Louis Rams, Philadelphia Eagles and Vikings.