In this paper, a new speech enhancement method is proposed based on dictionary learning and low-rank matrix decomposition with the objective to improve speech quality and intelligibility. In both the learning stage and the enhancement stage of the proposed method, a new noise model is employed to capture the noise characteristics with a combination of a low-rank matrix and an overcomplete noise dictionary. In the learning stage, an unsupervised dictionary learning algorithm is first proposed based on this new noise model to train a noise dictionary with low mutual coherence to the clean speech. Then, a supervised low-rank matrix decomposition algorithm is proposed to extract the low-rank component of noise using the clean speech, noise, and noisy speech training data sets. The estimated low-rank matrix is clustered through the K-means method to generate a codebook which provides useful information for the enhancement stage. Finally, in the enhancement stage, by using the well-trained dictionaries and the reference codebook from the learning stage, a decomposition algorithm for the low-rank matrix and sparse component is developed to effectively estimate the clean speech from the noisy speech. The experimental results show that our proposed method achieves better enhancement performance than some state-of-the-art reference methods in terms of four objective performance evaluation measures especially in low signal-to-noise ratio adverse environments. INDEX TERMS Clustering, noise model, speech enhancement, supervised low-rank matrix decomposition, unsupervised dictionary learning.