Self-consistent equations for intrinsic rotation in tokamaks with small poloidal magnetic field Bp compared to the total magnetic field B are derived. The model gives the momentum redistribution due to turbulence, collisional transport and energy injection. Intrinsic rotation is determined by the balance between the momentum redistribution and the turbulent diffusion and convection. Two different turbulence regimes are considered: turbulence with characteristic perpendicular lengths of the order of the ion gyroradius, _i, and turbulence with characteristic lengths of the order of the poloidal gyroradius, (B=Bp)_i. Intrinsic rotation driven by gyroradius scale turbulence is mainly due to the effect of neoclassical corrections and of finite orbit widths on turbulent momentum transport, whereas for the intrinsic rotation driven by poloidal gyroradius scale turbulence, the slow variation of turbulence characteristics in the radial and poloidal directions and the turbulent particle acceleration can be become as important as the neoclassical and finite orbit width effects. The magnetic drift is shown to be indispensable for the intrinsic rotation driven by the slow variation of turbulence characteristics and the turbulent particle acceleration. The equations are written in a form conducive to implementation in a ux tube code, and the effect of the radial variation of the turbulence is included in a novel way that does not require a global gyrokinetic formalism.