A person with knowledge of the situation tells The Associated Press that Hill agreed to terms on a two-year deal worth $6.5 million on Tuesday. The person requested anonymity because an official announcement has not been made.
The 35-year-old Hill started eight games for the St. Louis Rams last season in place of the injured Sam Bradford. He completed 63.3 percent of his passes for 1,657 yards, eight touchdowns and seven interceptions.
Hill was signed as an undrafted free agent out of college by the Vikings in 2002.
The Vikings had a need for an experienced backup after trading Matt Cassel to the Buffalo Bills.