In order to explore the characteristics and sources of heavy metals in farmland soil and their risks to human health and to provide an important scientific basis for farmland pollution control, 133 surface soils (0-20 cm) were collected from typical agricultural production areas in Zhejiang Province, and the contents of soil Cd, Pb, Cr, Cu, Zn, Ni, As, and Hg were determined. Various methods were applied to evaluate the degree of heavy metal pollution in farmland and its ecological risks in the study area. The method of combining Kriging interpolation and positive definite matrix factor analysis (PMF) was applied to analyze the pollution sources and quantify the contribution of each pollution source. Combined with the health risk assessment model, the risk to human health of each pollution source was evaluated from the perspective of source exposure. The results showed that the average ω(Cd), ω(Pb), ω(Cr), ω(Cu), ω(Zn), ω(Ni), ω(As), and ω(Hg) were 0.76, 65.22, 92.02, 103.92, 198.49, 36.65, 5.97, and 0.20 mg·kg-1, respectively. The average contents of Cd and Cu were higher than the risk screening values of soil contamination of agricultural land, and 85.71% and 96.24% of soil was contaminated by heavy metals. The average contents of Pb, Cr, Zn, and Ni exceeded the soil background values of the Wenhuang Plain in Zhejiang Province, and the As and Hg contents were within the limit values. The potential soil ecological risks were mainly light-moderate, accounting for 90.98%, and both high and higher risk accounted for 4.51%; Cd was the main potential ecological risk element. The main sources of heavy metal pollution in the study area were the sources of the electronic waste dismantling process (26.82%), the mixed sources of coal combustion and traffic emissions (34.50%), mixed sources of natural parent materials and agricultural inputs (25.59%), and e-waste pickling runoff and solid waste leaching sources (13.09%). The health risk of heavy metal exposure to children was significantly greater than that in adults. Mixed sources of natural parent materials and agricultural inputs contributed the most to human health risks, and Cr was the element with the greatest contribution to human health risks.