We give the first complete subdivision algorithm for the intersection of two Bezier curves F, G, possibly with tangential intersections. Our approach to robust subdivision algorithms is based on geometric separation bounds, and using a criterion for detecting non-crossing intersection of curves. Our algorithm is adaptive, being based only on exact bigfloat computations. In particular, we avoid manipulation of algebraic numbers and resultant computations. It is designed to be competitive with current algorithms on “nice” inputs. All standard algorithms assume F, G to be relatively prime — our algorithm needs a generalization of this. Categories and Subject Descriptors I.3.5 [Computer Graphics]: Computational Geometry