Terms of the deal were not disclosed.
Tucker started 81 games last season in his second year with the Suns, averaging career highs of 9.4 points, 6.5 rebounds, 1.7 assists, 1.4 steals and 30.7 minutes.
The former University of Texas player spent his rookie season with Toronto in 2006-07, then played in Germany, Puerto Rico, Italy, Greece, Israel and the Ukraine before joining the Suns.
''P.J. is one of the most rugged competitors in the entire league,'' Suns general manager Ryan McDonough said in a statement released by the team. ''We love his passion and his fire. We are happy that he will remain in a Suns uniform for the foreseeable future.''