The invention provides a method and an apparatus for restraining cross-correlation interference in GNSS. The invention comprises the following steps: step A, detecting and demodulating a strong signal in a receiving signal; step B, generating a spreading code synchronized to a certain strong signal; step C, carrying out segmentation on the receiving signal according to a certain length; step D, carrying out segmentation on the spreading code that is generated in the step B; step E, generating a set of orthogonal codes such as a Walsh code and a set of orthogonal codes with a certain length, for example, a set of Walsh codes; step F, generating a set of outputs after corresponding multiplication of an output of the step D with an output of the step E; step G, generating a set of outputs after corresponding summation of convolution by an output of the step C with the outputs of the step F; step H, generating a set of outputs after corresponding multiplication of the outputs of the step F with the outputs of the step G; step I, generating an output after accumulation of a set of data referring to the outputs of the step H; step J, carrying out merging of segments on the outputs of the step I and then generating an output. According to the invention, the method has low complexity of algorithm and the apparatus has a good comprehensive property.