We used the widely distributed freshwater fish, perch (Perca fluviatilis), to investigate the postglacial colonization routes of freshwater fishes in Europe. Genetic variability within and among drainages was assessed using mitochondrial DNA (mtDNA) D-loop sequencing and RAPD markers from 55 populations all over Europe as well as one Siberian population. High level of structuring for both markers was observed among drainages and regions, while little differentiation was seen within drainages and regions. Phylogeographic relationships among European perch were determined from the distribution of 35 mtDNA haplotypes detected in the samples. In addition to a distinct southern European group, which includes a Greek and a southern Danubian population, three major groups of perch are observed: the western European drainages, the eastern European drainages including the Siberian population, and Norwegian populations from northern Norway, and western side of Oslofjord. Our data suggest that present perch populations in western and northern Europe were colonized from three main refugia, located in southeastern, northeastern and western Europe. In support of this, nested cladistic analysis of mtDNA clade and nested clade distances suggested historical range expansion as the main factor determining geographical distribution of haplotypes. The Baltic Sea has been colonized from all three refugia, and northeastern Europe harbours descendants from both eastern European refugia. In the upper part of the Danube lineages from the western European and the southern European refugia meet. The southern European refugium probably did not contribute to the recolonization of other western and northern European drainages after the last glaciation. However, phylogenetic analyses suggest that the southern European mtDNA lineage is the most ancient, and therefore likely to be the founder of all present perch lineages. The colonization routes used by perch probably also apply to other freshwater species with similar distribution patterns.