Satellite monitoring is an effective way to obtain the spatiotemporal information for surface water resources. However, due to problems such as clouds, cloud shadows, and sensor failures, there many gaps in satellite images, posing challenges for the accurate monitoring of surface water changes. Here, a new image-similarity-based gap-filling method using Landsat images, to obtain gapless surface water images, is proposed. The new method, based on a database composed of gapless images, uses the symmetrical difference method to determine the gapless image whose water pixels distribution is most similar to that of the gap image, finally replacing the gapped image pixels with gapless image pixels, to obtain a gap-filled water image. The performance of the new method is evaluated for arid and humid regions via numerical experiments and case verification. Then new method is compared with the existing gap-filling method, using the Aral Sea as an example. The new method’s average overall accuracy for surface water in arid areas is about 0.99, and that of surface water in humid areas is about 0.98. It predicted surface water more accurately than other methods, and with high accuracy (R2 = 0.92). This proposed gap-filling method provides an important technical solution to obtaining long-term high-quality observations of surface water. It can also provide a database of image for accurate water resource management.