The deal is for one year, according to USA Today.
He signed for the veterans minimum of $1.015 million, a source told ESPN's Adam Schefter.
The signing of the 33-year-old running back comes as the team looks to add depth at the position following several key injuries, including a season-ending injury to 2018 second round draft pick Derrius Guice.
Peterson joins a running back group that has been depleted by injuries through the team's first two preseason games. While Perine is expected to return shortly from an ankle sprain, Guice will miss the entire year with a torn ACL. Coach Jay Gruden had hoped running backs Samaje Perine and Byron Marshall would be the answer, but both also sustained leg injuries in the exhibition game against the Jets on Thursday. Those were the only three healthy backs on the roster - and the Redskins are reluctant to play Thompson in the preseason after he broke his fibula in November. But he also logged two games down the stretch in Arizona with 134 and 159 yards rushing, proving he can carry the load in short spells. The team looked out for help in the free agent market to address the issue and made a decision to go for a legend in the form of Adrian Peterson. The Cardinals released him after the season. That injury brought an early end to Peterson's 2017 season.
Peterson has amassed 12,276 rushing yards in his career and rushed for a career-high 2,097 during his MVP season in 2012.
The former Minnesota Vikings star split last season between Arizona and New Orleans, playing six games for the Cardinals and four for the Saints and finishing with 529 yards rushing and two touchdowns. He was suspended by the National Football League in 2014 for child abuse.