We propose 3D Block Matching (3DBM) for random noise attenuation both in pre-stack and post-stack data. It combines the advantages of non-local and transform-domain denoising methods. Compared to conventional methods, 3DBM has superior capability for preserving discontinuities presented in seismic data both qualitatively and quantitatively. We compare the ability of 3DBM and the state-of-the-art Curvelet-based seismic denoising method.