The present work reports first-principles DFT+U calculations of uranium self-diffusion in uranium dioxide (UO2), with a focus on comparing calculated activation energies to those determined from experiments. To calculate activation energies, we initially formulate a point defect model for UO2±x that is valid for small deviations from stoichiometry. We investigate five migration mechanisms and calculate the corresponding migration barriers using both the LDA+U and GGA+U approximations. These energy barriers are calculated using the occupation matrix control scheme that allows one to avoid the metastable states that exist in the DFT+U approximation. The lowest migration barrier is obtained for a vacancy mechanism along the 110 direction. This mechanism involves significant contribution from the oxygen sublattice, with several oxygen atoms being displaced from their original position. The 110 vacancy diffusion mechanism is predicted to have lower activation energy than any of the interstitial mechanisms and comparison to experimental data for stoichiometric UO2 also confirms this mechanism.