Let \beta_k(n) be the number of self-intersections of order k, appropriately renormalized, for a mean zero random walk X_n in Z^2 with 2+\delta moments. On a suitable probability space we can construct X_n and a planar Brownian motion W_t such that for each k\geq 2, |\beta_k(n)-\gamma_k(n)|=O(n^{-a}), a.s. for some a>0 where \gamma_k(n) is the renormalized self-intersection local time of order k at time 1 for the Brownian motion W_{nt}/\sqrt n.