Taihu Lake is the third-largest freshwater lake in eastern China. The contamination of heavy metals (HMs) in Taihu Lake resulting from rapid economic development and population growth has raised significant concerns in recent years. In this study, the contents and spatial distributions of eight typical HMs (Hg, Cr(VI), As, Cd, Cu, Ni, Pb, and Zn) in the fresh surface water and sediments from Taihu Lake were investigated. The potential ecological and health risks posed by HMs were evaluated using multiple assessment methods. Risk quotients were used to assess the ecological risks of HMs, and chronic risk quotients of Cu, Ni, and Pb (>1.0) were found in the surface water of Taihu Lake. According to the geo-accumulation index (Igeo) and pollution load index (PLI) values, the lake sediments exhibited moderate risks of Cd and Hg. In general, the sediments were moderately contaminated by HMs based on the average risk index (RI < 300). Spatially, a high ecological risk posed by the HMs existed in the sediments of northern Taihu Lake (RI > 300), while the sediments in the southwestern and eastern regions had moderate risk levels. The non-carcinogenic risk levels of Hg, Cd, Cu, and Zn were acceptable based on the exposure characteristics of residents living around Taihu Lake. The carcinogenic risk levels of Cr(VI), As, Pb, and Ni through drinking water were acceptable. However, the ingestion of Cr(VI), As, and Ni through drinking water and fish consumption may pose certain health risks. Therefore, the levels of toxic metals, in particular, Cr(VI), As, and Ni, in edible organisms should be monitored periodically and controlled to alleviate the potential carcinogenic risks through food ingestion. Our work provides valuable information concerning the ecological risk distribution of HMs in Taihu Lake, which is essential for protecting the safety of aquatic organisms and human health and minimizing HM pollution in the lake.