This paper applies the sparse and redundant representation techniques to the problem of speech enhancement. More specifically, the K-SVD algorithm was used to train a data-driven overcomplete dictionary that describes the sparsity of speech. Orthogonal matching pursuit was employed to reconstruct the clean speech as a direct sparse decomposition technique over redundant dictionaries. Furthermore, the principle of iteration was introduced to the denoising process. When training was done on the noisy speech directly, the overall trainingreconstructing algorithm became fused into one iterative procedure. Simulation shows that our proposed approach outperforms the conventional methods in terms of spectrogram analysis, objective and subjective measures.