Localization of multiple diffusion sources is of great importance to various practical applications. However, accurately estimating the number of sources, which usually serves as the first step in this field, is still a challenging task. Most existing methods ignore the overlapping characteristic of the infected graph and thus hard to identify the appropriate infected partition for each diffusion source. Furthermore, these methods fail to fully utilize the contagion neighborhood of source candidates, resulting in poor accuracy of source localization. To overcome these problems, we propose a novel multiple sources detection method that utilizes both overlapping community detection and contagion neighborhood bias. In order to estimate the number of sources, the proposed method first utilizes the inherent peak–valley structure of the topological potential field to determine the number of sources. Then, it divides the infected graph into overlapping communities based on node position analysis in the topological potential field, which provides better partitions for source localization. Finally, it locates the single source in each partition based on likelihood estimation and contagion neighborhood bias which takes into account both infected and uninfected nodes in one’s neighborhood. In the experiment part, we evaluate our method on both real-world networks and synthetic networks with various scales and structural features. The results show that our proposed method not only estimates the number of sources more accurately but also locates each source more precisely, outperforming the existing state-of-the-art methods. In addition, our method gives stable performances on different kinds of synthetic networks, exhibiting good robustness.