Nace de la confluencia de varios ríos y arroyos, el principal de los cuales se llama río Grande de la Pampa. Otros son los llamados El Naranjo, Huaico Hondo, Quenco y del Sauce.[2] Atraviesa la Sierra de los Guanacos a través de Abra del Cajón, tramo donde se llama río Cajón,[1] e ingresa en el amplio valle llamado "de la Frontera"; allí adopta el nombre de río Rosario, y pasa junto a la ciudad de Rosario de la Frontera. Durante este tramo, el río presenta un recorrido muy sinuoso y un cauce amplio con un lecho cargado de arenas de acarreo.[3] Entre sus afluentes en la zona se cuentan los arroyos Salado, Agua Colorada, de Cuchiyacú y Copo Quile.
Continúa su recorrido hacia el este-sudeste, y al cruzar una pequeña serranía toma el nombre de río Horcones; en esa zona estaba la estancia donde nacieron y se criaron los miembros de la familia Gorriti. Continúa su recorrido en la provincia de Santiago del Estero, donde ingresa a la llanura chaqueña; tras pasar por la localidad de Nueva Esperanza, su recorrido se hace confuso, con varios bañados y periódicos cambios de curso. La mayor parte de su caudal se pierde en estos bañados, y en años normales termina en ellos. En años más lluviosos de lo normal, el cauce continúa hasta unirse con el río Salado.[3] Algunas obras de canalización favorecen este aporte al Salado, con la intención de evitar las inundaciones en la zona de Nueva Esperanza.
Sobre la ribera izquierda del río, en la provincia de Santiago del Estero, al norte de la localidad de Sachayoj, se encuentra la reserva provincial río Horcones, creada en el año 1997 con la misión de proteger la flora y fauna de una parte del chaco seco.[4]