A simple nutrient–phytoplankton–zooplankton (NPZ) pelagic ecosystem model coupled to a two-dimensional primitive equation circulation model with explicit mixed-layer physics is configured in a coastal setting to study the biological response to idealized wind-driven upwelling conditions. Conventional ecosystem model parameterization, which assumes macrozooplankton as the target grazers, leads to upwelling-induced phytoplankton blooms that exhaust available nutrient supply and whose zonal scale increases with wind duration. Offshore zooplankton maxima result from upwelled water with greater total nitrogen concentrations than initial ambient surface water. Substantial vertical mixing in the surface boundary layer sets the vertical scale of the productivity. Phytoplankton sinking contributes to a nearshore accumulation of total nitrogen, and enhances the magnitude and duration of the phytoplankton bloom. The system responds differently when the zooplankton are parameterized to represent microzooplankton. The phytoplankton and zooplankton maxima have more limited zonal extent, are more independent of the duration of wind forcing, and near-surface nutrient levels remain high over most of the domain. When winds are relaxed, the diminished offshore transport reveals the underlying biological oscillations in the microzooplankton-parameterized ecosystem, and reduced vertical mixing decouples surface from subsurface dynamics. In contrast, the macrozooplankton system relaxes to a steady state supporting limited phytoplankton and large zooplankton levels in the upwelling region.