Carotenoid pigments produce the yellow and red colors of birds and other vertebrates. Despite their importance in social signaling and sexual selection, our understanding of how carotenoid ornamentation evolves in nature remains limited. Here, we examine the long-tailed finch Poephila acuticauda, an Australian songbird with a yellow-billed western subspecies acuticauda and a red-billed eastern subspecies hecki, which hybridize where their ranges overlap. We found that yellow bills can be explained by the loss of C(4)-oxidation, thus preventing yellow dietary carotenoids from being converted to red. Combining linked-read genomic sequencing and reflectance spectrophotometry measurements of bill color collected from wild-sampled finches and laboratory crosses, we identify four loci that together explain 53% of variance in this trait. The two loci of largest effect contain the genes CYP2J19, an essential enzyme for producing red carotenoids, and TTC39B, an enhancer of carotenoid metabolism. A paucity of protein-coding changes and an enrichment of associated upstream variants suggest that the loss of C(4)-oxidation results from cis-regulatory evolution. Evolutionary genealogy reconstruction indicates that the red-billed phenotype is ancestral and that yellow alleles at CYP2J19 and TTC39B first arose and fixed in acuticauda approximately 100 kya. Yellow alleles subsequently introgressed into hecki less than 5 kya. Across all color loci, acuticauda-derived variants show evidence of selective sweeps, implying that yellow bill coloration has been favored by natural selection. Our study illustrates how evolutionary transitions between yellow and red coloration can be achieved by successive selective events acting on regulatory changes at a few interacting genes.