Phytoplankton stoichiometry or nutrient content has been shown to vary in a number of dimensions (species, condition, time, space), but the heterogeneity within a species at a given time and location, and the underlying mechanisms and importance have not been explored. There are a number of mechanisms that can create intraspecific heterogeneity, and theory suggests it can affect the population growth rate. We studied heterogeneity in P content of the freshwater diatom Cyclotella meneghiniana in the Charles River in Boston. Single-cell observations using synchrotron-based X-ray fluorescence show that the nutrient status varies from P-starved to P-replete. We simulate individual cells using an agent-based model that accounts for a number of mechanisms that can create heterogeneity, including surface area-based uptake, mortality differentiation, stochastic biological variability in states and behavior, macroscale mixing, and microscale nutrient patch encounter. By performing a number of simulations with various mechanisms turned on/off and comparing to data, we conclude that the heterogeneity is mostly due to microscale patchiness (85%). We explore the importance of accounting for heterogeneity in models by performing a simulation with the growth rate based on the population-average internal nutrient, as is done in conventional populationlevel models. This shows that ignoring heterogeneity increases the population growth rate by a factor of 1.47. To account for different heterogeneity in the laboratory and field, population-level ecosystem models should reduce maximum growth rates. The magnitude of this correction depends on local conditions, and in our case, it is a factor of 0.72.