Salmonid populations of many rivers are rapidly declining. One possible explanation is that habitat fragmentation increases genetic drift and reduces the populations’ potential to adapt to changing environmental conditions. We measured the genetic and eco-morphological diversity of brown trout (Salmo trutta) in a Swiss stream system, using multivariate statistics and Bayesian clustering. We found large genetic and phenotypic variation within only 40 km of stream length. Eighty-eight percent of all pairwise FST comparisons and 50% of the population comparisons in body shape were significant. High success rates of population assignment tests confirmed the distinctiveness of populations in both genotype and phenotype. Spatial analysis revealed that divergence increased with waterway distance, the number of weirs, and stretches of poor habitat between sampling locations, but effects of isolation-by-distance and habitat fragmentation could not be fully disentangled. Stocking intensity varied between streams but did not appear to erode genetic diversity within populations. A lack of association between phenotypic and genetic divergence points to a role of local adaptation or phenotypically plastic responses to habitat heterogeneity. Indeed, body shape could be largely explained by topographic stream slope, and variation in overall phenotype matched the flow regimes of the respective habitats.