The Bronze Age of Eurasia (around 3000–1000 BC) was a period of major cultural changes. However, there is debate about whether these changes resulted from the circulation of ideas or from human migrations, potentially also facilitating the spread of languages and certain phenotypic traits. We investigated this by using new, improved methods to sequence low-coverage genomes from 101 ancient humans from across Eurasia. We show that the Bronze Age was a highly dynamic period involving large-scale population migrations and replacements, responsible for shaping major parts of present-day demographic structure in both Europe and Asia. Our findings are consistent with the hypothesized spread of Indo-European languages during the Early Bronze Age. We also demonstrate that light skin pigmentation in Europeans was already present at high frequency in the Bronze Age, but not lactose tolerance, indicating a more recent onset of positive selection on lactose tolerance than previously thought. An analysis of 101 ancient human genomes from the Bronze Age (3000–1000 bc) reveals large-scale population migrations in Eurasia consistent with the spread of Indo-European languages; individuals frequently had light skin pigmentation but were not lactose tolerant. Was the Bronze Age of a period of major cultural changes because of circulation of ideas or because of large-scale migrations? The authors sequence and analyse low-coverage genomes from 101 ancient humans from across Eurasia to reveal large-scale population migrations and replacements during this time. Analyses indicate that light skin pigmentation was already frequent among Europeans in the Bronze Age but not lactose tolerance, indicating a more recent onset of positive selection on the latter trait than previously believed. The reported findings are also consistent with the spread of Indo-European languages during the Early Bronze Age reported on page 207 of this issue.