Le Vistre prend naissance sur la commune de Bezouce, en piémont des garrigues, au nord-est de Nîmes. Il s’écoule dans la vallée de la Vistrenque, orientée du nord-est au sud-ouest. Il longe le versant nord du plateau des Costières et atteint enfin la Petite Camargue, où il se jette dans le Canal du Rhône à Sète, canal de navigation reliant le Rhône au Languedoc via Aigues-Mortes.
Le Vieux Vistre a une longueur de 49,4 km1. Il se sépare en deux bras au niveau de la commune du Cailar. Ces deux bras se rejoignent pour une embouchure commune à Aigues-Mortes. Le deuxième bras, long de 9,2 km, correspond au canal le Vistre créé au xviie siècle.
Dans le Grad, il traverse 17 communes.