The Becchi-Rouet-Stora-Tyutin (BRST) method is applied to the quantization of the solitons of the non-linear $O(3)$ model in $2+1$ dimensions. We show that this method allows for a simple and systematic treatment of zero-modes with a non-commuting algebra. We obtain the expression of the BRST hamiltonian and show that the residual interaction can be perturbatively treated in an IR-divergence-free way. As an application of the formalism we explicitly evaluate the two-loop correction to the soliton mass.