  The existence of stable ACM vector bundles of high rank on algebraic
varieties is a challenging problem. In this paper, we study stable Ulrich
bundles (that is, stable ACM bundles whose corresponding module has the maximum
number of generators) on nonsingular cubic surfaces $X \subset \mathbb{P}^3.$
We give necessary and sufficient conditions on the first Chern class $D$ for
the existence of stable Ulrich bundles on $X$ of rank $r$ and $c_1=D$. When
such bundles exist, we prove that that the corresponding moduli space of stable
bundles is smooth and irreducible of dimension $D^2-2r^2+1$ and consists
entirely of stable Ulrich bundles (see Theorem 1.1). As a consequence, we are
also able to prove the existence of stable Ulrich bundles of any rank on
nonsingular cubic threefolds in $\mathbb{P}^4$.
