Antibiotic resistance can evolve through the sequential accumulation of multiple mutations. To study such gradual evolution, we developed a selection device, the 'morbidostat', that continuously monitors bacterial growth and dynamically regulates drug concentrations, such that the evolving population is constantly challenged. We analyzed the evolution of resistance in Escherichia coli under selection with single drugs, including chloramphenicol, doxycycline and trimethoprim. Over a period of ∼20 days, resistance levels increased dramatically, with parallel populations showing similar phenotypic trajectories. Whole-genome sequencing of the evolved strains identified mutations both specific to resistance to a particular drug and shared in resistance to multiple drugs. Chloramphenicol and doxycycline resistance evolved smoothly through diverse combinations of mutations in genes involved in translation, transcription and transport. In contrast, trimethoprim resistance evolved in a stepwise manner, through mutations restricted to the gene encoding the enzyme dihydrofolate reductase (DHFR). Sequencing of DHFR over the time course of the experiment showed that parallel populations evolved similar mutations and acquired them in a similar order.