Due to industrial, rural, and domestic waste disposal, heavy metals such as cadmium (Cd), chromium (Cr), lead (Pb), zinc (Zn), copper (Cu), and iron (Fe) continually infiltrate aquatic environments. These pollutants do not degrade naturally and, thus, have a high capacity for bioaccumulation in tissues and organs. The present study uses histological and immunohistochemical analyses to evaluate the contamination status of Salminus franciscanus, a large and economically important fish. Levels of Cd, Cr, Pb, Zn, Cu, and Fe were evaluated by atomic absorption spectrometry in the liver and muscle of fish sampled from two tributaries of the upper São Francisco River Basin, Brazil: the Abaeté and Paraopeba Rivers. In addition, histopathological alterations and expressions of three environmental biomarkers were assessed: metallothionein (MT), heat shock protein-70 (HSP70), and cytochrome P450-1A (CYP1A). The results show that fish from the Paraopeba River are unsuitable for human consumption, with several metals being detected above the safe limits established by the World Health Organization. Histopathological alterations in the liver and spleen were also significantly more frequent in fish from the Paraopeba River than in those from the Abaeté River (P < 0.05). Significant differences in the expressions of environmental biomarkers were observed between the rivers. Fish from the Abaeté River presented significantly higher values of the gonadosomatic index (GSI) and lower levels of metal contamination in the liver and muscle.