Rio San Giorgio (Iglesiente, Sardinia, Italy), a stream affected by abandoned mine wastes, is characterized by dense vegetation in the streambed, mainly comprised of Phragmites australis and Juncus acutus. This vegetation creates natural biogeochemical barriers that drive mineralization processes and attenuate metals load in the stream. Several techniques, covering scales from micrometres to kilometres, were applied to investigate the biogeochemical processes: water chemistry, injected hydrologic tracer, mineralogy, microscopic investigation and X-ray spectroscopy. From this multiscale and multimethod approach, we recognized two predominant sets of biogeochemical processes: microbially driven metal sulphide precipitation, mainly resulting in pyrite formation; and plant uptake of metals that leads to formation of iron oxide-hydroxide and incorporation of Zn within the roots and aerial part (stem and leaves). The dense vegetation in the Rio San Giorgio streambed controls its morphology, velocity of streamflow, and, as reflected by observed bromide-tracer loss, enhanced water exchange between the streambed and the hyporheic zone. The combined effect of these vegetative controls is to establish biogeochemical barriers that greatly retard trace-metal mobility in the hyporheic zone. We estimated this effect can lead to an apparent decrease in Zn load up to 60%