In this paper, we propose a method that uses the non-uniform Fast Fourier Transform (FFT) to compensate for Doppler frequency shifts in orthogonal frequency division multiplexing (OFDM) based underwater acoustic (UWA) communication systems. To estimate the Doppler frequency shift, the paper proposes using a pilot carrier frequency (PCF) that is identified by transmitting with greater power in the frequency domain compared to other subcarriers. This identifier helps estimate both the Doppler frequency shift and the channel. The paper proposes estimating and compensating for the Doppler frequency shift in two steps: Step 1 performs coarse frequency synchronization, where the Doppler frequency shift is determined by using PCF signal. The Doppler shift correction is obtained by re-sampling the received signal, and then interpolating re-sampled signal. However, the Doppler shift compensation in the step 1 cannot correct the phase distortion of the measured PCF signal. Therefore, performing step 2, known as fine frequency synchronization, is necessary. In this step, the correction for the phase distortion is determined based on the phase difference between the two consecutive OFDM signals in one frame. The remaining Doppler frequency shift is adjusted based on the phase deviation, using the non-uniform FFT. By using the non-uniform FFT, the complexity of the ICI compensation is significantly reduced, and the quality of Doppler shift compensation is improved. The experience results show that the transmitted text will be decoded correctly by using the proposed technique