It flows southwest towards Sherbrooke, where it changes course northwest towards Drummondville, and finally empties into the Saint Lawrence River near Pierreville.
The river is named after Saint Francis Xavier (1506–1552) by the Jesuits, who explored the region under the French regime, and after François de Lauzon.
It continues north-west, passing through the municipalities of Windsor, Richmond, Drummondville and from there outflows into the Saint Lawrence River at lake Saint-Pierre.
When the Abenaki mission Saint-François-de-Sales located on the Chaudière River moved to Odanak, the village took the latter's name, "Saint-François”.
In 1805, an 8,000 acre reserve (32.4 kilometres (20.13 mi)) was granted for Indian refugees in Durham Township, near the present village of L'Avenir, as well as 2,722 acres (1,102 ha) (11 kilometres (6.84 mi)) in 1853 on the shore of Petit Lac Saint-François in the township of Coleraine.