The Nets did not announce the terms of the deal Saturday, but an NBA official with knowledge of the agreement told The Associated Press the contract is for $10 million over three years. The official requested anonymity because he was not authorized to speak for the team.
Petro will be a backup for Brook Lopez. Petro averaged 5.1 points and 4.2 rebounds in five seasons with Seattle-Oklahoma City and Denver.
The agreement is contingent on Petro passing a physical.
Petro is the second free agent to agree to a contract with the Nets. Small forward Travis Outlaw got a five-year, $35 million contract Thursday.
"We are very pleased to add Johan to our roster," general manager Rod Thorn said. "He is a young player with a defensive presence who should fit well into our frontcourt rotation."
The native of Paris averaged 3.4 points, 3.6 rebounds and 12.1 minutes for the Nuggets last year.
The Nets won a league-low 12 games last season. They had hoped that having more than $30 million to spend in free agency would lure some of the game's top stars, but they struck out in their bid to lure LeBron James, Chris Bosh or Dwyane Wade to New Jersey.