A disk graph is an intersection graph of a set of disks with arbitrary radii in the plane. In this paper, we consider the problem of efficient construction of sparse spanners of disk (ball) graphs with support for fast distance queries. These problems are motivated by issues arising from topology control and routing in wireless networks. We present the first algorithm for constructing spanners of ball graphs. For a ball graph in ℝk, we construct a (1 + ε)-spanner with O(nε-k+1) edges in O(n2ℓ+εε-k logℓ S) expected time, using an efficient partitioning of the space into hypercubes and solving intersection problems. Here ℓ = 1-1/(⌊k/2⌋+2), ε is any positive constant, and S is the ratio between the largest and smallest radius. For the special case where all the balls have the same radius, we show that the spanner construction has complexity almost equivalent to the construction of a Euclidean minimum spanning tree. Previously known constructions of spanners of unit ball graphs have time complexity much closer to n2. Additionally, these spanners have a small vertex separator (hereditary), which is then exploited for fast answering of distance queries. The results on geometric graph separators might be of independent interest.