Magma ascent rate can control the hazard potential of an eruption, but it is difficult to directly determine. Here we investigate the variations in timescales of magma ascent and rates of magma ascent for the three most recent explosive and effusive eruptions of Kelud volcano in Indonesia (1990, 2007, and 2014) using the zoning of volatile elements (OH, Cl, F) in apatite. We found that crystals from the 2007 dome show chemical gradients and increasing concentrations (reverse zoning) in chlorine and/or fluorine towards the crystals’ rims whereas those of the 1990 and 2014 explosive eruptions are unzoned. Diffusion modelling of the volatile elements in zoned apatite of the 2007 dome rocks give magma ascent times of up to 3 months, although 71% of them are ≤ 60 days. In contrast, the maximum magma ascent timescales inferred from apatite of the 1990 and 2014 explosive eruptions are about 7–8 hours. Using the pre-eruptive magma storage depths obtained from petrological and phase equilibria studies, we calculate ascent rates of about > 0.4 × 10− 3 m s− 1 for the 2007 dome, and > 2.6 × 10− 1 m s− 1 for the 1990 and 2014 eruptions. We also calculated the magma viscosities for each eruption, which when combined with the magma ascent rates and magma mass discharge rates correspond well with the expected eruptive styles. Our study illustrates the robustness of modelling apatite zoning in volatile elements to constrain timescales and magma ascent dynamics, and highlights the important role of magma ascent on eruptive styles.