The river rises (47°44′07″N 69°17′15″W / 47.7352°N 69.2874°W / 47.7352; -69.2874 (Rivière Saint-François source)) in a lake of the same name located 12 miles (20 km) east of the Rivière du Loup in Quebec.
[2] Saint Francis River passes through Beau Lake on the border between Maine and Quebec.
The river enters the north end of Beau Lake 15 miles (24 km) downstream of Lake Pohenegamook and leaves the south end of Beau Lake 13 miles (21 km) upstream of the Saint John River confluence.
[5] Saint Francis River passes through Glazier Lake on the border between Maine and New Brunswick.
The river enters the north end of Glazier Lake 3 miles (4.8 km) downstream of Beau Lake and leaves the south end of Beau Lake 4 miles (6.4 km) upstream of the Saint John River confluence.