The Oregonian newspaper first reported the agreement. The two sides agreed to a two-year, $10.4 million deal, according to The Associated Press.
Roy can't officially sign with Minnesota until July 11.
Roy, a three-time All-Star, announced his retirement last season after five seasons with Portland because of chronic knee problems. The Blazers used the amnesty clause on the remaining $63 million of his deal to make him an unrestricted free agent. After sitting out the lockout-condensed season, Roy wants to try and resume his once promising NBA career.
The 27-year-old Roy has averaged 19 points, 4.3 rebounds and 4.7 assists in 321 games. He was the No. 6 overall pick in the 2006 draft by the Timberwolves but was traded to Portland for Randy Foye on draft night.
Former GM Kevin McHale's decision to make the deal haunted the franchise for years, as Roy emerged as one of the bright young stars in the league and one of the game's top closers while Foye languished through injuries and had difficulty making an impact before being traded to Washington in 2009.
"Welcome Brandon Roy," tweeted Wolves forward Derrick Williams, who wore Roy's No. 7 in Minnesota last season. "(No.) 7 is all yours."
But one of the reasons McHale made the decision was concern about Roy's knees, and a lack of cartilage severely limited him in 2010-11, when he averaged just 12.2 points and 27.9 minutes per game and shot 40 percent from the field.
Roy was also being courted by Chicago, Indiana, Cleveland, Dallas and Golden State, but he ultimately chose Minnesota, where he'll be relied on to be a veteran presence on a very young team while likely playing fewer minutes, at least at first, to maximize his production.
Team president David Kahn, owner Glen Taylor, coach Rick Adelman and athletic trainer Greg Farnam visited Roy in Seattle last week to make a hard push for him. Roy is also close with Wolves assistant Bill Bayno, who coached him in Portland.
Information from The Associated Press was used in this report.