Environmental variation across the range of wild species can lead to local adaptations. The Baltic Sea was formed when the Fenno-Scandian ice sheet retreated around 12 thousand years ago, creating a new brackish water habitat colonised by both marine and freshwater fish species. The European perch (Perca fluviatilis) is a predatory freshwater fish with a large geographical distribution across Eurasia, where it inhabits a wide range of environmental niches. In the Baltic Sea region, it has even developed a specialised brackish water perch variant that can tolerate environmental salinity levels, which are lethal to freshwater perch. However, very little is known about the underlying mechanisms facilitating the colonisation and adaptation of perch to the Baltic Sea. Here, we use Genotyping-By-Sequencing data from six freshwater and six brackish water localities to disclose the evolutionary relationship between freshwater and brackish water perch. Our results show that the brackish water perch occurs in multiple distinct genetic clusters. We find that gene flow between brackish water perch with full access to the sea likely led to lower levels of differentiation and higher diversity than in freshwater perch. Selection analyses suggest that genomic adaptation played a role in the colonisation of the Baltic Sea and that the top three regions under selection harbour salinity tolerance genes. We conclude by discussing the implications of our findings for the management of brackish water perch in the western Baltic Sea.