The contents of heavy metals (Cd, Cu, Cr, As, Mn, Ni, Pb, and Zn) in sediments from 20 representative sections of the ancient town of Suzhou were analyzed to determine the pollution degree and potential ecological risk, and pollution sources were identified. The results showed that the average concentrations of Cd, Cu, Cr, As, Mn, Ni, Pb, and Zn in river sediments from the ancient town of Suzhou were 1.1, 142.6, 90.2, 17.2, 800.1, 63.3, 199.1, and 384.2 mg·kg-1, respectively, and the proportions of sampling points that exceeded the soil background value of Jiangsu Province were 100%, 100%, 65%, 95%, 70%, 100%, 95%, and 100%, respectively. The geo-accumulation index indicated that the pollution degree of heavy metals followed the order of Pb > Cd > Cu > Zn > Cr > Ni > As > Mn. In general, high Pb pollution, moderate Cd, Cu, Zn, and Cr pollution, slight Ni and As pollution, and no Mn pollution were observed. The potential ecological risk index for heavy metals was determined to follow the order of Cd > Pb > Cu > As > Ni > Zn > Cr > Mn. Generally, Cd, Pb, and Cu presented moderate potential ecological risk, and the others presented low potential ecological risk. The average concentration of heavy metals, geo-accumulation index, and potential ecological risk index of river sediments in the northern and southern of ancient town were all higher than that of Ganjiang River and Huancheng River, indicating that the control of heavy metals should focus on the inner part of the ancient town. According to correlation analysis and principal component analysis, Cd, Cu, Cr, As, Ni, Pb, and Zn might be derived from man-made factors such as fertilizer, road aging, tire wear, exhaust emissions and so on, which Mn was mainly derived from natural factors.