Occurrence, distribution, ecological risk and health risk of chromium (Cr), manganese (Mn), nickel (Ni), copper (Cu), zinc (Zn), lead (Pb), arsenic (As) and cadmium (Cd) in PM2.5 of indoor dusts from Xi'an were determined. All the target elements were detected in the samples, and the maximum Cr, Mn, Ni, Cu, Zn, Pb, As and Cd contents in PM2.5 of dusts were 458, 1005, 115, 604, 2845, 1778, 122.6, and 21.1 mg/kg, respectively. Human activities, industrial produce and traffic could be the main reason for the detection of heavy metals in PM2.5. Cd exhibited significantly high potential ecological risk, which suggested that more attention should be paid to the ecological and environmental effects of Cd pollution. Health risk analysis shows that ingestion of dust particles is the route of exposure for metals in dust, followed by dermal adsorption and inhalation. For children, hazard indexes (HIs) for metals As and Pb were lager than 1, indicating the adverse non-carcinogenic risk for children. Overall, this study provides fundamental information regarding the occurrence, distribution, ecological risk and health risk of heavy metals, which could be helpful for further investigating the health risks of heavy metals in atmospheric environments.