The Xianghualing Sn–Pb–Zn deposit is situated near the center of the world-class Nanling W–Sn ore belt, associated with the highly evolved Laiziling granite of Jurassic age. Previous studies focused mainly on geochemical and geochronological features of the mineralization-related granite, whereas research on the source, evolution and geochronology of the ore-forming fluids has been limited. We carried out precise U–Pb dating, trace element, and Hf isotopic analyses on magmatic and hydrothermally-altered zircons from the skarn-stage and sulfide-stage ores in the Xianghualing deposit. Zircon U–Pb dating results from the two ore-forming stages show distinct geochronological populations: the skarn stage ores contain mainly magmatic and hydrothermally-altered zircons in three age clusters (∼150 Ma, ∼220 Ma, and ∼ 420 Ma), whereas the sulfide-stage ores are characterized by abundant old detrital zircons ranging from 497 to 3409 Ma, with a peak at 800–1000 Ma. This pattern may indicate that magmatic–hydrothermal events in the Silurian and Triassic were precursors to the main Sn mineralization event in the Jurassic, when circulation of evolved fluids through older sedimentary rocks led to Pb–Zn mineralization. The Jurassic zircons exhibit high trace-element contents (e.g., Hf, P, Y, Nb, Ta, Th, U) and low Ti contents, Eu anomalies, Nb/Ta and Th/U ratios, which imply that the Laiziling magma experienced significant plagioclase, biotite and muscovite fractional crystallization, and that it interacted extensively with post-emplacement F-rich hydrothermal fluids. The positive Ce anomalies of these zircons (Ce/Ce∗ = 1.0–226) indicate that the magmatic–hydrothermal fluids that led to the Jurassic Sn mineralization event were reducing. The less negative εHf(t) values of Triassic zircons (−18.7 to −2.6) compared to the Silurian zircons (−14.6 to 2.3) suggest more limited interaction between the mantle and the magma source region. The Jurassic magmatic zircons in the skarns exhibit even more negative εHf(t) values (−30.7 to −6.7), along with TDMC model ages ranging from 1627 to 3134 Ma, indicating that the Jurassic magma was derived from partial melting of old continental crustal basement. Based on the combined study of zircons in the skarns and sulfide ores, we propose a three-stage ore genetic model for the Xianghualing Sn–Pb–Zn deposit.