The team announced the signing Thursday evening. Terms weren't disclosed, but sources confirmed that Bennett received a two-year contract worth the veteran's minimum.
"We have been excited to watch Anthony's progress this summer with his national team, and look forward to the opportunity of having (head coach) Kenny [Atkinson] and his staff work with him to continue his development," Nets' general manager Sean Marks said in a statement.
The Nets worked out Bennett, who has gotten into much better shape, at a veteran minicamp early in the offseason and came away impressed.
Bennett was a member of the Canadian national team that lost to France in the finals of the recent Olympic qualifying tournament in the Philippines. Bennett averaged 6.8 points and 5 rebounds in four games.
Bennett, 23, taken with the top pick by Cleveland in 2013, has never lived up to his draft status. In parts of three seasons with the Cavaliers, Minnesota Timberwolves and Toronto Raptors, he holds career averages of 4.2 points and 3.1 rebounds.
But Brooklyn, which is coming off a 21-61 season and does not have total control over its own first-round pick until 2019, needs to find diamonds in the rough.
The Nets are hoping that Atkinson's strong track record for developing players translates into helping Bennett turn around his career.
The Nets also reached a one-year contract agreement with veteran guard Randy Foye, a source confirmed.
Brooklyn now has 15 players under contract.
After their offer sheets to restricted free agents Allen Crabbe and Tyler Johnson were matched by Portland and Miami, respectively, the Nets signed Greivis Vasquez, Luis Scola, Joe Harris, Bennett and Foye to short-term deals, maintaining salary-cap flexibility in the process.