Fish are often used as bioindicators of the presence of potentially toxic metals in aquatic ecosystems. The objective of these study was to quantify the levels of Cd, Cr, Cu, Hg, Pb and Zn in water and sediment samples from the Sorocaba River and musculature and gill samples of seven species of fish (Hoplosternum littorale, Pterygoplichthys ambrosettii, Hypostomus ancistroides, Geophagus iporangensis, Prochilodus lineatus, Psalidodon cf. fasciatus, and Rhamdia quelen. In addition, the Bioaccumulation factor and Bioconcentration factor were obtained. The water and sediment analysis indicates average concentrations of metals below the maximum limit allowed by Brazilian legislation. Results above the legislation were found for chromium, in 18 samples: eight gills and 10 muscles. The trophic group that presented the highest contamination was the iliophages, followed by insectivores. There were no significant differences between the trophic groups in the absorption of the analyzed metals except for Zn and Hg in fish gills. The bioaccumulation factor in the gills and muscles showed that Hg and Zn had the highest values for the sediment in most species studied. Future research is needed to broaden the assessment as fish are consumed and water collection for supply has recently started downstream of the studied area.