Il fiume nasce in una regione di montagne di granito nella Contea di Iron, in Missouri, e scorre verso sud attraverso l'altopiano d'Ozark e i monti Saint-François, vicino al Taum Sauk, la vetta più alta dello Stato. Forma il confine tra Missouri ed Arkansas; dopo essere entrato in quest'ultimo, attraversa il Lago Wappapello (formato da una diga nel 1941), dopo il quale scorre in diversi meandri, passando attraverso foreste e terre paludose, trasformandosi da torrente limpido in fiume lento e fangoso. Nel suo corso inferiore è parallelo al Crowley's Ridge, e fa parte di un progetto di controllo delle acque che coinvolge una serie di canali che scorrono attorno ad esso e al Castor e al Little River; dopo la confluenza di quest'ultimo il Saint Francis è navigabile con chiatte; il fiume si getta nel Mississippi nella contea di Phillips, circa 11 km a nord di Helena.
Saint Francis in inglese vuol dire San Francesco, ma l'origine del nome non è chiara. Potrebbe riferirsi a Francesco d'Assisi, sebbene nessuno degli esploratori della regione siano stati francescani. Una possibilità è che Jacques Marquette, un gesuita, diede questo nome al fiume quando esplorò la sua foce nel 1673, dopo aver passato del tempo in una missione dedicata a Francesco Saverio. Il nome del fiume è stato scritto all'inizio del ventesimo secolo sia come "Francois" che come "Francis"; diversi luoghi della regione hanno preso nome da esso, come la Contea di St. Francois e i monti Saint-François.[2]