A new algorithm for denoising ECG signals contaminated by additive white Gaussian noise is proposed here. In the proposed algorithm, a clean ECG signal is modeled as a combination of two morphologically different signals. The first signal is a spike-like signal representing the QRS-complex, and, hence, it has the statistical characteristics of a group-sparse (GS) signal, i.e., a sparse signal its non-zero entries tend to concentrate in groups. The second signal, on the other hand, is a smooth signal representing the low-frequency components of the ECG signal. Accordingly, the proposed algorithm consists of two stages, where in the first stage a new algorithm based on the majorization-minimization (MM) technique is developed to extract the GS signal representing the QRS-complex, while a modified version of the singular spectrum analysis (SSA) technique is utilized in the second stage to smooth the remaining signal. Simulation results on real and simulated ECG data show that the proposed algorithm can be successfully utilised to denoise ECG data. In addition, the proposed algorithm is also shown to produce significantly improved results compared to existing techniques used for performing similar tasks.