The head of the river (flowing northeast) is connected to the head of the rivière La Guerre which flows west, where it flows on the south shore of Lake Saint Francis, east of the village of Saint-Anicet. Both rivers take their common source from a marsh area located south of the village of Sainte-Barbe. Donohoe Creek drains the eastern zone of the marsh and Cowan Creek drains the southern zone.
From the head swamp, the Saint-Louis River flows 12.8 km northeast to route 201, more or less parallel to the south shore of lake Saint Francis. This segment of river first flows in a straight line due to the digging of the river, south of the village of Sainte-Barbe. The course of the river then passes on the north side of the village of Saint-Stanislas-de-Kostka.
In the next segment, the river flows 8.4 km east and runs parallel to the south bank of the Beauharnois Canal, bordering on the south side a wetland located between the canal and the river, up to the height of Saint-Louis-de-Gonzague.
The Saint-Louis river flows on the south bank of the lake Saint-Louis which is crossed to the east by the Saint Lawrence River. The mouth of the Saint-Louis river is located 1.9 km (1.2 mi) downstream from the Beauharnois Powerhouse and upstream from the mouth of the Chateauguay River. Pointe Thibaudeau borders on the west side the small bay located at the mouth of the Saint-Louis river.