This article presents a cubic spline algorithm for interpolation on the rotation group SO(3). Given an ordered set of rotation matrices and knot times, the algorithm generates a twice-differentiable curve on SO(3) that interpolates the given rotation matrices at their specified times. In our approach SO(3) is locally parametrized by the Cayley parameters, and the generated curve is cubic in the sense that the Cayley parameter representation is a cubic polynomial. The resulting algorithm is a computationally efficient way of generating bi-invariant (i.e., invariant with respect to choice of both inertial and body-fixed frames) trajectories on the rotation group that does not require the evaluation of transcendental functions, and can also be viewed as an approximation to a minimum angular acceleration trajectory. Because the Cayley parameters provide a one-to-one correspondence between R3 and a dense set of SO(3), the resulting trajectories do not have the “multiple winding” effect that occurs in several existing methods.