A 2-distance-primitive graph is a vertex-transitive graph whose vertex stabilizer is primitive on both the first step and the second step neighborhoods. Let $\Gamma$ be such a graph. This paper shows that either $\Gamma$ is a cyclic graph, or $\Gamma$ is a complete bipartite graph, or $\Gamma$ has girth at most $4$ and the vertex stabilizer acts faithfully on both the first step and the second step neighborhoods. Also a complete classification is given of such graphs satisfying that the vertex stabilizer acts $2$-transitively on the second step neighborhood. Finally, we determine the unique 2-distance-primitive graph which is locally cyclic.