Adiabaticity occurs when, during its evolution, a physical system remains in the instantaneous eigenstate of the hamiltonian. Unfortunately, existing results, such as the quantum adiabatic theorem based on a slow down evolution (H(ǫt), ǫ → 0), are insufficient to describe an evolution driven by the hamiltonian H(t) itself. Here we derive general criteria and exact bounds, for the state and its phase, ensuring an adiabatic evolution for any hamiltonian H(t). As a corollary we demonstrate that the commonly used condition of a slow hamiltonian variation rate, compared to the spectral gap, is indeed sufficient to ensure adiabaticity but only when the hamiltonian is real and non oscillating (for instance containing exponential or polynomial but no sinusoidal functions).