Rapid urbanization and industrialization have led to the accumulation of heavy metals in urban areas. The distribution and health risk of heavy metals in soil and street dust were studied by collecting the samples in pairs from different land uses in Changsha, China. The results showed that the average contents of the heavy metals Pb, Cd, Cu, Zn, Cr and Ni in the soil were 45.3, 0.69, 46.3, 220.4, 128.7 and 32.9 mg·kg−1, and the corresponding heavy metal contents in the street dust were 130.1, 3.9, 130.8, 667.2, 223.2, 50.5 mg·kg−1, respectively. The soils in the parks and roadsides have higher heavy metal contents than those in the residential and agricultural areas. The street dust collected from parks, roadsides and residential areas contained higher heavy metal contents than agricultural areas. Significant correlations were found between heavy metals, suggesting similar sources. However, most of the heavy metals in the soil were uncorrelated with those in the street dust. The contents of heavy metals in soil are the results of long-term pollution. Street dust is easily affected by natural or human disturbances, reflecting pollution emissions in a short period. The health risks posed by heavy metals in the soil are acceptable, but the street dust may threaten children’s health, especially in residential areas. Pb, Cr and Cd are the main risk contributors. Reducing the emissions from industrial plants and traffic may reduce the risk of exposure to heavy metals in the street dust.