Water depth and the topography under water provide important information for near shore human activities. With the intensification of international territory concerns, bathymetric mapping is also gaining attention. Optical satellite imagery is an efficient tool for estimating shallow water depth as compared to the traditional field surveying because of its wide coverage area. On the other hand, the existence of cloud and haze contaminates the spectral signatures, which introduces errors to the depth data retrieved. In this research, the contaminated pixels are treated as a mixture of water and cloud. Linear Spectral Unmixing (LSU) procedure is applied for estimating the cloud abundance in mixed pixels. The cloud component is then removed with a linear function and the “purified” water component used for depth retrieval. In this research, water depth is estimated with two methods, namely, artificial neural network (ANN) and physical model. The former demands in-situ bathymetric samples for training, the latter requires site information of inherent optical properties (IOPs) and apparent optical properties (AOPs). The experiments reveal that retrieving depth with ANN generates better results than the physical model, but with a few extremely large errors. As for mixed pixels, the error of depth estimation becomes higher as cloud abundance increases. The precision of depth retrieval is higher for mixed pixels at the reef flat level (within 10 meters in depth) than those in the lagoon (about 20 meters in depth), and the precision generally agrees with those retrieved from water pixels without cloud or haze.