A simple nutrient-phytoplankton model is used to explore the dynamics of phytoplankton blooms. The model exhibits excitable behaviour in the sense that a large scale outbreak can only be triggered when a critical nutrient threshold is exceeded. The model takes into account several features often neglected but whose combined effect proves very important: (i) rapid nutrient recycling associated with the microbial loop and patch formation; (ii) self-shading; and (iii) a bottom-up approach, whereby nutrient levels are responsible for both the triggering and the demise of the bloom. Although the literature is replete with studies of 'top-down' models in which zooplankton grazing control the triggering and demise of the bloom, bottom-up models are nevertheless appropriate in many circumstances. We provide a full mathematical investigation of the effects of these three different features in an excitable system framework.