We consider non-adiabatic transitions in multiple dimensions, which occur when the Born-Oppenheimer approximation breaks down. We present a general, multi-dimensional algorithm which can be used to accurately and efficiently compute the transmitted wavepacket at an avoided crossing. The algorithm requires only one-level Born-Oppenheimer dynamics and local knowledge of the potential surfaces. Crucially, in contrast to standard methods in the literature, we compute the whole wavepacket, including its phase, rather than simply the transition probability. We demonstrate the excellent agreement with full quantum dynamics for a range of examples in two dimensions. We also demonstrate surprisingly good agreement for a system with a full conical intersection.