Intraspecific variation in body size is common in animals and plants. Body size affects trophic interactions like foraging ability and vulnerability to predation, which in turn affect individual fitness as well as population stability and extinction risk. Experimental and theoretical work has shown that the size distribution of individuals within cohorts is strongly influenced by intraspecific competition for resources, often leading to skewed frequency distributions. However, little is known about the effects of environmental factors such as climate and eutrophication on the cohort size-structure of natural populations. We use a long-term time series of scientific monitoring of a freshwater fish (European perch Perca fluviatilis) to investigate the effects of density dependence, predation, nutrient availability, climate and the timing of spawning on the cohort size distributions. We find that the mean length of the fish is best predicted by the extrinsic factors phosphorus concentration and summer temperature, and the densities of the different age-classes, whereas the skewness of the length distribution is best predicted by phosphorus concentration, summer temperature, abundance of small fish, and the timing of spawning. Higher nutrient levels, temperatures and densities of small fish increase food availability and thus reduce competition, which is reflected in increased mean length and decreased skewness. The timing of spawning affects skewness presumably through changes in the initial size variation of the cohort and the length of the first growth season. Our results indicate that higher temperatures increase the mean length and decrease skewness due to the concurrent eutrophication of the lake. The study thereby highlights the potential impact of human-induced environmental change on the size structure of fish populations. More studies are needed to understand better the complex mechanisms through which these factors alter the intensity of intraspecific competition in fish communities.