ESPN's Adam Schefter first reported the contract.
Johnson was cut by the Tampa Bay Buccaneers on Wednesday. Johnson played for the Bengals for five years before signing a five-year, $43.75 million deal with the Buccaneers in 2014. Tampa Bay still owes Johnson $7 million, but they will avoid paying $7 million that would have become guaranteed if he remained with the team for 2015 season.
Johnson met with the Bengals on Saturday. The day before he met with Minnesota Vikings head coach Mike Zimmer, who was the Bengals' defensive coordinator from 2008-2013.
Johnson played in 14 games last season for the Buccaneers. The defensive end had 27 tackles, four sacks and two forced fumbles. In six career seasons, Johnson has 223 tackles, 30.5 sacks, five forced fumbles and three interceptions.