This paper proposes a novel patch propagation inpainting algorithm based on Weighted Sparse Non-negative Matrix Factorization (WSNMF). Unlike existing methods, we cast the inpainting task as a sequential low-rank matrix recovery and completion problem, where the incomplete data matrix consists of the image patch to be inpainted and several similar intact candidate patches under the assumption that they can be described using a low-dimensional linear model. Besides, the non-negativity and sparsity constraints are enforced for the additive sparse linear combination. The WSNMF, based on the Expectation-Maximization (EM) procedure, is then introduced to predict missing values. Experimental results show that this approach exploits the available information from the source region more adequately and thus has capabilities to recover both structure and composite textures more effectively as well as preventing unwanted artifacts compared to current exemplar-based techniques.