We give polynomial time approximation schemes (PTASs) for the problem of partitioning an input set of n points into a fixed number k of clusters so as to minimize the sum over all clusters ofthe sum of pairwise distances in a cluster. Our algorithms work for arbitrary metric spaces as well as for points in Rdwhere the distance between two points x, y is measured by ||x - y||22 (notice that (Rd, ||.||22) is not a metric space). Our algorithms can be modified to handle other objective functions, such as minimizing the sumover all clusters of the sum of distances to the best choice fora cluster center. The method of solution of this paper depends on some newtechniques which could be also of independent interest.