Improving an old result of Clarkson et al., we show that the number of distinct distances determined by a set P of n points in three-dimensional space is (n77/141) = (n0.546 ), for any > 0. Moreover, there always exists a point p P from which there are at least these many distinct distances to the remaining elements of P. The same result holds for points on the three-dimensional sphere. As a consequence, we obtain analogous results in higher dimensions. Categories and Subject Descriptors F.2.2 [Theory of Computation]: Nonnumerical Algorithms and Problems--geometrical problems and computations Work on this paper by the first three authors has been supported by a grant from the U.S.-Israeli Binational Science Foundation. Work by Boris Aronov has also been supported by NSF Grants CCR-99-72568 and ITR CCR-00-81964. Work by J?anos Pach and Micha Sharir has also been supported by NSF Grants CCR-9732101 and CCR-00-98246. Work by J?anos Pach has also been supported by a PSC-CUNY Award, ...