Mark Williams scored 22 points and grabbed seven rebounds, and the Phoenix Suns held on for a 108-105 win over the Minnesota Timberwolves on Monday night in Minneapolis.