  A (not necessarily proper) vertex colouring of a graph has "clustering" $c$
if every monochromatic component has at most $c$ vertices. We prove that planar
graphs with maximum degree $\Delta$ are 3-colourable with clustering
$O(\Delta^2)$. The previous best bound was $O(\Delta^{37})$. This result for
planar graphs generalises to graphs that can be drawn on a surface of bounded
Euler genus with a bounded number of crossings per edge. We then prove that
graphs with maximum degree $\Delta$ that exclude a fixed minor are 3-colourable
with clustering $O(\Delta^5)$. The best previous bound for this result was
exponential in $\Delta$.
