El municipio está ubicado al noreste de Neiva, sobre territorios en los que se distinguen dos regiones diferentes: la primera al occidente, la extensa llanura comprendida entre el Río Magdalena y el pie de la cordillera oriental y la segunda al oriente, que abarca desde el pie de la cordillera oriental hasta sus cimas, con más de 3000 msnm, regados por las aguas de los ríos Fortalecillas, Magdalena y Villavieja.