Phytoplankton phenology is increasingly recognised as a key ecological indicator to characterise marine ecosystems. Existing methods to quantify phenology are often limited by gaps in the data record or by differences between the assumed and actual shapes of the seasonal cycle. A novel method to estimate phytoplankton phenology from satellite chlorophyll-a data is presented here, allowing us to determine the shape of the annual cycle from the data themselves, and to fill data gaps using data from the vicinity at a larger spatial scale. Up to two chlorophyll-a peaks (blooms) per annual cycle can be identified, and their timings and magnitudes estimated. The outputs are a set of time series with no data gaps at a succession of spatial scales, together with information at each scale about the climatological shape of the annual cycle, and the timing and magnitude of the principal and secondary blooms in each year. To illustrate the application of the algorithm we present the results from a 12 year time series of SeaWiFS data from 1998 to 2009 in the North Atlantic; the timings and magnitudes of blooms show strong spatial patterns, and hence are suitable for incorporation into the definitions of ecological provinces. Due to its generic nature, the handling of data gaps and the lack of reliance on a pre-defined seasonal cycle, the method has a wide range of other potential applications including land-based phenology and the study of the timing of seasonal sea ice cover.