Arizona announced the move on Tuesday. Johnson, 32, was in the middle of his 10th season in the NFL, but had just 114 yards on 45 carries in four games this season. He started three times since the Cardinals lost running back David Johnson in Week 1. He did not score a touchdown.
The Cardinals placed long snapper Aaron Brewster on injured reserve due to a wrist injury and signed long snapper Justin Drescher in corresponding transactions.
Drescher, who will wear No. 49 in Arizona, played seven seasons for the New Orleans Saints. The 29-year-old was with the Saints this preseason before being cut in August. He entered the NFL in 2010 as an undrafted rookie free agent signing by the Atlanta Falcons. Drescher has appeared in 102 regular season contests.
Johnson's release comes after the Cardinals traded with the Saints for veteran running back Adrian Peterson on Tuesday.
"[Cardinals general manager] Steve [Keim] and I had been talking for the last couple of weeks about the running back position," Cardinals coach Bruce Arians said, according to the team website. "Chris Johnson is a great guy and I hate that it came down this way for him. But we had to do something to help our football team.