Spectral clustering makes use of the spectrum of an input affinity matrix to segment data into disjoint clusters. The performance of spectral clustering depends heavily on the quality of the affinity matrix. Commonly used affinity matrices are constructed by either the Gaussian kernel or the self-expressive model with sparse or low-rank constraints. A technique called diffusion which acts as a post-process has recently shown to improve the quality of the affinity matrix significantly, by taking advantage of the contextual information. In this paper, we propose a variant of the diffusion process, named Self-Supervised Diffusion, which incorporates clustering result as feedback to provide supervisory signals for the diffusion process. The proposed method contains two stages, namely affinity learning with diffusion and spectral clustering. It works in an iterative fashion, where in each iteration the clustering result is utilized to calculate a pseudolabel similarity so that it can aid the affinity learning stage in the next iteration. Extensive experiments on both synthetic and real-world data have demonstrated that the proposed method can learn accurate and robust affinity, and thus achieves superior clustering performance.