Nine potentially harmful heavy metals (Cd, Co, Cr, Cu, Hg, Mn, Pb, Ni, and Zn) were measured in 477 topsoil samples collected from urban-rural areas in the city of Wuhan in order to identify their concentrations and possible sources, and characterize their spatial variability for risk assessment. Results showed that in most rural areas heavy-metal concentrations in soil were similar to their natural background values, but Cd, Cu, Hg, Pb, and Zn concentrations were relatively higher in densely populated districts and around industrial facilities. Multivariate analyses (correlation matrix, principal component analysis, and cluster analysis) indicated that Cd, Cu, Hg, Pb, and Zn were mainly derived from anthropogenic inputs, and Co, Cr, and Mn were controlled by natural source, whereas Ni appeared to be affected by both anthropogenic and natural sources. The result of risk assessment indicated that nearly 48% of the study area suffered from moderate to severe contamination.