Francistown está situada en la confluencia de los ríos Tai e Inchwe, cerca del río Shashe (afluente del río Limpopo) y a unos 90 km de la frontera con Zimbabue.