Heavy metals concentrations in surface sediments from Miyun Reservoir were determined to evaluate the pollution and identify the sources. The average content of metals in sediments from Miyun Reservoir followed the order Al>Fe>Ti>Mn>V>Zn>Cr>Ni>Cu>Pb>As>Cd>Hg, and the most mean values were lower than the globe average shale. Heavy metals concentrations at the inflow area of Baihe were higher than those at the inflow area of Chaohe. Heavy metals pollution assessment was carried out by factor enrichment (EF), geoaccumulation index (I(geo)), and potential ecological risk (RI). The EF values for all heavy metals except Hg, Cd, and Cr at several sites were lower than 3, suggesting low anthropogenic impact on the metals level. The I(geo) values of Pb indicated that half of the sites were unpolluted to moderately polluted and mainly located in the Baihe area of the reservoir. The RI showed that heavy metals of Miyun Reservoir were low potential risk, however, Hg approached or belonged to moderate ecological risk at sites of M5, M7, and M13. Correlation analysis and principal component suggested that Ni, Cu, V, Zn, Mn, Cr, Ti, and Pb were derived from soil erosion in upper reaches of the reservoir, while Fe, Cd, Hg, As, and partial Pb originated from anthropogenic sources, particularly industrial mining and gold tailings.