This paper proposes a speech enhancement algorithm based on wavelet packet transform and adaptive noise estimation. The wavelet threshold in this algorithm is temporally adapted to SNR variations which can be calculated by adaptive noise estimation. Adaptive noise estimation can be computationally simple and reliable to estimate the noise levels from noisy signal itself without complicated speech pause detection. Thus the proposed algorithm can efficiently suppress the noise while reducing speech distortion. A speech signal corrupted by nonstationary noises is used for the performance evaluation of the proposed algorithm. Experimental results show that the proposed algorithm outperforms the conventional spectral subtraction and other wavelet based denoising approaches for speech enhancement.