BACKGROUND: Cadmium is a ubiquitous environmental pollutant, which accumulates in the human body such that 24-h urinary excretion is a biomarker of lifetime exposure. We aimed to assess the association between environmental exposure to cadmium and cancer. METHODS: We recruited a random population sample (n=994) from an area close to three zinc smelters and a reference population from an area with low exposure to cadmium. At baseline (1985-89), we measured cadmium in urine samples obtained over 24 h and in the soil of participants' gardens, and followed the incidence of cancer until June 30, 2004. We used Cox regression to calculate hazard ratios for cancer in relation to internal (ie, urinary) and external (ie, soil) exposure to cadmium, while adjusting for covariables. FINDINGS: Cadmium concentration in soil ranged from 0.8 mg/kg to 17.0 mg/kg. At baseline, geometric mean urinary cadmium excretion was 12.3 nmol/day for people in the high-exposure area, compared with 7.7 nmol/day for those in the reference (ie, low-exposure) area (p<0.0001). During follow-up (median 17.2 years [range 0.6-18.8]), 50 fatal cancers and 20 non-fatal cancers occurred, of which 18 and one, respectively, were lung cancers. Overall cancer risk was significantly associated with a doubling of 24-h cadmium excretion (hazard ratio 1.31 [95% CI 1.03-1.65], p=0.026. Population-attributable risk of lung cancer was 67% (95% CI 33-101) in the high-exposure area, compared with that of 73% (38-108) for smoking. For lung cancer, adjusted hazard ratio was 1.70 (1.13-2.57, p=0.011) for a doubling of 24-h urinary cadmium excretion, 4.17 (1.21-14.4, p=0.024) for residence in the high-exposure area versus the low-exposure area, and 1.57 (1.11-2.24, p=0.012) for a doubling of cadmium concentration in soil. INTERPRETATION: Historical pollution from non-ferrous smelters continues to present a serious health hazard, necessitating targeted preventive measures.