Heavy metal pollution is a widespread problem and strongly affects human health through the food chain. In this study, the overall pollution situation and source apportionment of heavy metals in soil (Hg, Cd, As, Pb, Ni, Zn, Cu and Cr) were evaluated using various methods including geo-accumulation index (I geo), potential ecological risk index (RI) and positive matrix factorization combined with Geographical Information System (GIS) to quantify and identify the possible sources to these heavy metals in soils. The results of I geo showed that this farmland top soil moderate contaminated by Hg, other selected elements with noncontamination level. And the average RI in the top soil was 259.89, indicating a moderate ecological risk, of which Hg and Cd attributed 88.87% of the RI. The results of the PMF model showed that the relative contributions of heavy metals due to atmospheric depositions (18.70%), sewage irrigations (21.17%), soil parent materials (19.11%), industrial and residential coal combustions (17.43%) and agricultural and lithogenic sources (23.59%), respectively. Of these elements, Pb and Cd were came from atmospheric deposition. Cr was attributed to sewage irrigations. As was mainly derived from the soil parent materials. Hg originated from industrial and residential coal combustions, and most of the Cu, Zn and Ni, except for Pb, were predominantly derived from agricultural and lithogenic sources. These results are important in considering management plans to control the aggravation of heavy metal pollution and ultimately to protect soil resources in this region. In addition, this study enhances the understanding of heavy metal contamination occurrence in agroecosystem that helps predicting and limiting the potential of heavy metal exposure to people and ecosystem.