The matched filtering method and the waveform-tracking method cannot maintain optimal velocity estimation performance all of the time. In order to solve this problem, this paper proposes an improved velocity estimation method for Doppler sonar, based on accuracy evaluation and selection. The echo of Doppler sonar is divided into several segments with the same width as the transmitted pulse, and each segment is regarded as the echo of the corresponding water layer. According to our study’s results, the velocity estimation accuracy of each segment is positively correlated with the ratio of its autocorrelation modulus to its power. Based on this conclusion, a velocity accuracy criterion with high accuracy and low complexity is designed in order to select the optimal velocity estimation for water layers or bottoms. The proposed accuracy selection method flexibly selects the echo interval to be processed according to the accuracy criterion, so as to maintain the optimal estimation of the current’s or bottom’s velocity. Water tank and field experiments using a prototype Doppler sonar device demonstrates that, compared with the matched filtering method and the waveform-tracking method, the average velocity estimation accuracy and bias of the proposed method are superior.