This study aimed to examine the associations between socioeconomic status (SES) and self-rated health (SRH) among US general adult populations and the extent to which blood and urinary metal mixtures explain these associations. We used 14 years of repeated cross-sectional data that consists of seven consecutive NHANES cycles from 2003-04 to 2015-16 (N = 9497). SRH was measured using a 5-point Likert scale, and SES was measured by Family Income to Poverty Ratio (FMPIR), levels of education, and employment status. Blood concentration of lead, mercury, and cadmium, and urinary concentrations of ten heavy metals (arsenic, barium, cadmium, cesium, cobalt, lead, mercury, molybdenum, thallium, tungsten) were used as metal mixtures. The total effects of SES on SRH were examined by linear regression. The direct effects of SES on metal mixtures were examined by weighted quantile sum (WQS) regression with Repeated Holdout Validation method, and causal mediation effect of mixtures was examined by model-based causal mediation technique. Results showed that SES (education β: 0.17; 95% CI: 0.15, 0.18; employment β: 0.16; 95% CI: 0.12, 0.21; and FMPIR β: 0.09; 95% CI: 0.08, 0.11) were positively, and the WQS indices of blood and urine metal mixtures (blood β: -0.04; 95% CI: -0.05, -0.03, urine β: -0.07; 95% CI: -0.13, -0.004) were significantly inversely associated with SRH in the US adult population. The novel finding was the mechanism between SES and SRH that exposure to heavy metals may explain socioeconomic inequalities in SRH in the US. Longitudinal studies are needed to corroborate this study results.