Heavy metals (HMs) contamination in rivers has attracted wide concern due to its persistence and potential risks to the natural environment and human health. In this study, eight HMs (As, Hg, Cu, Pb, Ca, Zn, Mn, and Ni) were measured by inductively coupled plasma mass spectrometry in 24 water samples to investigate HMs contamination levels in the Xiangxi River of the Yangtze River basin. A geographic information systems kriging interpolation method was used to reveal the spatial distribution of HMs contamination. The results indicate that most HMs occurred at acceptable levels below the Surface Water Quality Standard (GB 3838-2002), with the highest concentration (23.23mgkg-1) of Mn being observed at sampling site X20. The values of the potential ecological risk index (RI) suggest that high potential ecological risks were present at sampling sites X1, X3, X4, X14, X16, X17, and X24, which reached moderate risk level. The highest value of RI (279.56) was observed at site X17. HM spatial distributions show that upstream pollution is more severe than downstream. The hazard index was below 1 for all HMs except for Mn, indicating that HMs in Xiangxi River pose a low risk to human health. HM source identification was accomplished using principal component analysis and Pearson's correlation. Cu, Cd, Ni, and Hg originate primarily from agriculture, while Pb, Zn, and As originate primarily from transportation and mining. This research provides a reference on the risks posed by HMs in Xiangxi River and will support efforts to protect and improve water quality in Xiangxi River.