El río Xingú nace en el estado de Mato Grosso, al norte de la región del Planalto, en la unión entre las sierras de Roncador y Formosa, a una altura del orden de los 600 m. El río se alimenta por la confluencia de tres ríos principales: por el oeste, el río Ferro (400 km), que recoge las aguas de la vertiente oriental de la sierra de Formosa, con sus afluentes Steinen, Ronuró y Jabota; por el sur, el río Tamitatoala (o Betavil) (330 km); y por el este, el río Culuene, el más importante y caudaloso, un largo río de unos 600 km que recoge las aguas de la vertiente noroccidental de la sierra de Rondador y tiene muchos afluentes, como los ríos Auiita, Culiseu, Tanguro, Sete de Setembro y Conto de Magalhanaes. El río Xingú tiene sus fuentes en una zona donde también las tienen otros importantes ríos brasileños, como el río Teles Pires y el río Guaporé, que vierten en el Amazonas, o el río Cuiabá, que lo hace en la Cuenca del Plata, a más de 4.000 km de distancia.
La región de su cabecera está en el Parque Indígena de Xingú, el primer parque indígena declarado en Brasil (1961), siendo la principal fuente de agua y alimento para una población de cerca de 4.500 indígenas que viven en ese territorio. El río Xingú discurre en su curso alto en dirección sur, todavía dentro del gran parque, durante unos 150 km, un tramo en el que recibe varios afluentes, como los ríos Manissauá-Miçu, Arraias y Suiá-Miçu (450 km). Nada más salir del parque entra en el Área Indígena Jarina, donde recibe los ríos Huaiá-Miçu, Aiuiá-Miçu y Jarina. En este tramo el río es atravesado, a unos 40 km al oeste de la localidad de São José do Xingu (5.267 hab. en 2.010), por la rodovía BR-80, en un tramo prolongación de esta vía radial que conecta con Brasília.
El río cruza entonces la frontera con el estado de Pará, donde discurrirá casi únicamente por el municipio de Altamira (con 159.696 km², el mayor municipio de Brasil y del mundo ).