Migratory species typically undertake demanding long-distance journeys, across different habitat types during which they are exposed to multiple natural and anthropogenic stressors. Mortality during migration is typically high, and may be exacerbated by human-induced pressures. Understanding individual responses to these selection pressures is rarely attempted, because of the challenges of relating individual phenotypic and genetic data to migration success. Here we show distinct SNP sets unequivocally separated Atlantic salmon smolts making successful migrations to sea from those that failed to migrate, in two different rivers. In contrast morphological variation was not diagnostic of migration success. Populations from each river were genetically distinct, and while different genes were implicated in migration success in each river, they related to common biological processes (for example osmoregulation and immune response). Given that migration failure should quickly purge polymorphism at selected SNPs from a population, the question of how genetic diversity in these populations is maintained is an important one. Standing genetic variation could be maintained by different life history strategies and/or environmentally driven balancing selection. Our work highlights the importance of preserving genetic diversity to ensure evolutionary resilience at the population level, and has practical implications for management.