In the field of sonar detection, the most commonly used method for direction of arrival (DOA) estimation of underwater targets is the beamforming algorithm. However, due to the Rayleigh limit of resolution, this method cannot effectively resolve multiple targets within one beam. In this paper we propose a DOA estimation method using a single snapshot to resolve two targets in a single beam. We first establish an echo model of two unresolved targets with sonar array. Then we derive an improved monopulse method to estimate the DOA of the targets according to the maximum likelihood estimation principle. Finally, the performance of this method is evaluated by comparison experiments in the cases of varying SNR, inter-target angle separation and inter-target amplitude differences. The simulation results indicate that, method performs very well in many aspects, including smaller estimation error and enhanced adaptation to inter-target amplitude difference.