The São Francisco originates in the Canastra mountain range in the central-western part of the state of Minas Gerais. It runs generally north in the states of Minas Gerais and Bahia, behind the coastal range, draining an area of over , before turning east to form the border between Bahia on the right bank and the states of Pernambuco and Alagoas on the left one. After that, it forms the boundary between the states of Alagoas and Sergipe and washes into the Atlantic Ocean. In addition to the five states which the São Francisco directly traverses or borders, its drainage basin also includes tributaries from the state of Goiás and the Federal District.