Gene flow is traditionally thought to be antagonistic to population differentiation and local adaptation. However, recent studies have demonstrated that local adaptation can proceed provided that selection is greater than the homogenizing effects of gene flow. We extend these initial studies by combining ecology (climate), phenotype (body size), physiological genetics (oxidative phosphorylation genes), and neutral loci (nuclear microsatellites and introns) to test whether selection can counter-balance gene flow and hence promote local adaptation in a bird whose distribution spans an aridity gradient. Our results show that the Karoo scrub-robin's climatic niche is spatially structured, providing the potential for local adaptation to develop. We found remarkably discordant patterns of divergence among mtDNA, morphology, and neutral loci. For the mitochondrial genes, two amino acid replacements, strong population structure and reduced gene flow were associated with the environmental gradient separating western coastal sites from the interior of southern Africa. In contrast, morphology and the neutral loci exhibited variation independent of environmental variables, and revealed extensive levels of gene flow across the aridity gradient, 50 times larger than the estimates for mitochondrial genes. Together, our results suggest that selective pressures on physiology, mediated by the mitochondrial genome, may well be a common mechanism for facilitating local adaptation to new climatic conditions.