Interest in understanding strain diversity and its impact on disease dynamics has grown over the past decade. Theoretical disease models of several co-circulating strains indicate that incomplete cross-immunity generates conditions for strain-cycling behaviour at the population level. However, there have been no quantitative analyses of disease time-series that are clear examples of theoretically expected strain cycling. Here, we analyse a 40-year (1966-2005) cholera time-series from Bangladesh to determine whether patterns evident in these data are compatible with serotype-cycling behaviour. A mathematical two-serotype model is capable of explaining the oscillations in case patterns when cross-immunity between the two serotypes, Inaba and Ogawa, is high. Further support that cholera's serotype-cycling arises from population-level immunity patterns is provided by calculations of time-varying effective reproductive rates. These results shed light on historically observed serotype dominance shifts and have important implications for cholera early warning systems.