Despite recent efforts to assess heavy metal contents in soils in Brazil, little is known about the effect of parent material and sampling depth, both critical factors controlling soil geochemical composition, especially in areas with complex geology. We determined concentrations of Cr, Cu, Mn, Ni, Pb and Zn in soil profiles developed from eight contrasting rocks (quartzite, mica schist, gabbro, gneiss, limestone, phyllite, itabirite and ironstone after serpentinite) in a relatively small area under similar climate and native forests in Minas Gerais, Brazil. The hypotheses tested were that soil metal concentrations vary with parent material and depth. Soil samplings were done in triplicate at the 0–5, 30–40 and 90–100 cm depths, and metal concentrations assessed after nitric acid digestion and atomic absorption spectrometry determination. Generally, metal concentrations varied little with depth, and Pb concentrations were low and very similar among soils (always < 2.5 mg kg−1). Cu, Mn and Zn concentrations were also low (respectively, <32 mg kg−1, <330 mg kg−1 and < 27 mg kg−1) in all soils, except for that on itabirite, which was enriched in these metals, especially on Mn (6.850 mg kg−1). Conversely, soil Cr levels in all soils except for that on quartzite were high (>75 mg kg−1), reaching 210–258 mg kg−1 in the soils derived from mafic and ultramafic rocks. Ni was generally < 18 mg kg−1, except in the soils on itabirite (36–43 mg kg−1) and ironstone after serpentinite (ca. 600 mg kg−1). Metal concentrations were best correlated with Fe oxide contents. The hypothesis that heavy metal concentrations vary with depth was rejected, whereas the hypothesis of parent material effect was confirmed, mostly due to the geochemically unique rocks itabirite and ironstone after serpentinite.