Understanding the genetic basis of evolutionary adaptation is limited by our ability to efficiently identify the genomic locations of adaptive mutations. Here we describe a method that can quickly and precisely map the genetic basis of naturally and experimentally evolved complex traits using linkage analysis. A yeast strain that expresses the evolved trait is crossed to a distinct strain background and DNA from a large pool of progeny that express the trait of interest is hybridized to oligonucleotide microarrays that detect thousands of polymorphisms between the two strains. Adaptive mutations are detected by linkage to the polymorphisms from the evolved parent. We successfully tested our method by mapping five known genes to a precision of 0.2-24 kb (0.1-10 cM), and developed computer simulations to test the effect of different factors on mapping precision. We then applied this method to four yeast strains that had independently adapted to a fluctuating glucose-galactose environment. All four strains had acquired one or more missense mutations in GAL80, the repressor of the galactose utilization pathway. When transferred into the ancestral strain, the gal80 mutations conferred the fitness advantage that the evolved strains show in the transition from glucose to galactose. Our results show an example of parallel adaptation caused by mutations in the same gene.