We study a game on a graph $G$ played by $r$ {\it revolutionaries} and $s$ {\it spies}. Initially, revolutionaries and then spies occupy vertices. In each subsequent round, each revolutionary may move to a neighboring vertex or not move, and then each spy has the same option. The revolutionaries win if $m$ of them meet at some vertex having no spy (at the end of a round); the spies win if they can avoid this forever. Let $\sigma(G,m,r)$ denote the minimum number of spies needed to win. To avoid degenerate cases, assume $|V(G)|\ge r-m+1\ge\floor{r/m}\ge 1$. The easy bounds are then $\floor{r/m}\le \sigma(G,m,r)\le r-m+1$. We prove that the lower bound is sharp when $G$ has a rooted spanning tree $T$ such that every edge of $G$ not in $T$ joins two vertices having the same parent in $T$. As a consequence, $\sigma(G,m,r)\le\gamma(G)\floor{r/m}$, where $\gamma(G)$ is the domination number; this bound is nearly sharp when $\gamma(G)\le m$. For the random graph with constant edge-probability $p$, we obtain constants $c$ and $c'$ (depending on $m$ and $p$) such that $\sigma(G,m,r)$ is near the trivial upper bound when $r