A ball graph is an intersection graph of a set of balls with arbitrary radii. Given a real number t > 1, we say that a subgraph G′ of a graph G is a t-spanner of G, if for every pair of vertices u, v in G, there exists a path in G′ of length at most t times the distance between u and v in G. In this paper, we consider the problem of efficiently constructing sparse spanners of ball graphs which supports fast shortest path distance queries. We present the first algorithm for constructing spanners of ball graphs. For a ball graph in Rk, we construct a (1 + ǫ)-spanner for any ǫ > 0 with O(nǫ−k+1) edges in O(n2ℓ+δǫ−k logℓ S) time, using an efficient partitioning of 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 when the balls all have unit size, we show that the complexity of constructing a (1 + ǫ)-spanner is a...