The surface-surface intersection serves as one of the most fundamental problems in CAD systems. We present a topology guaranteed algorithm of computing the intersection of two B-spline surfaces, which is built upon a fast surface implicitization approach using the Dixon matrix, an inversion formula for a 3D point given by the Dixon matrix, a novel clipping method of the intersection curve within the required parametric domain, and a topology determination strategy that eases the tracing of the intersection locus.