Foliar and roadside dust samples were collected from five sites along the outer-ring highway of Shanghai, one of the biggest metropolitan areas of China, to assess heavy/toxic metal contamination. Concentrations of Zn, Cu, Ni, As, and Hg in foliar dust were higher than in roadside dust, whereas concentrations of Pb and Cd were higher in roadside dust. In the roadside dust, average concentrations of all metals except As in foliar and roadside dust samples were significantly above the background values of soil in Shanghai: the ratios between the average of samples and background values of Shanghai were in the order: Cd (25.1) > Zn (12.2) > Cu (6.16) > Pb (5.74) > Ni (5.50) > Hg (5.18) > As (1.05). By using the geo-accumulation index, the pollution grades of seven heavy metals at five sampling sites were calculated. Roadside dust was heavily to extremely contaminated with Cd; moderately to heavily contaminated with Zn; and moderately contaminated with Cu, Hg, Pb, and Ni. Foliar dust was heavily contaminated with Cd; moderately to heavily contaminated with Zn and Cu; and moderately contaminated with Hg, Pb, and Ni. The contamination level of heavy metals in the Puxi area was greater than that in the Pudong area, which might be related to the industrial distribution and land use. Combined with correlation analysis, hierarchical cluster analysis indicated that atmospheric deposition is the main source of Cd, Hg, As, and Pb in dust and that Cu and Zn in dust are mainly from heavy traffic on the highway. A portion of Ni in dust also comes from the parent soil.