The objective of this study was to determine the genomic changes that underlie coevolution between Escherichia coli B and bacteriophage T3 when grown together in a laboratory microcosm. We also sought to evaluate the repeatability of their evolution by studying replicate coevolution experiments inoculated with the same ancestral strains. We performed the coevolution experiments by growing Escherichia coli B and the lytic bacteriophage T3 in seven parallel continuous culture devices (chemostats) for 30 days. In each of the chemostats, we observed three rounds of coevolution. First, bacteria evolved resistance to infection by the ancestral phage. Then, a new phage type evolved that was capable of infecting the resistant bacteria as well as the sensitive bacterial ancestor. Finally, we observed second-order resistant bacteria evolve that were resistant to infection by both phage types. To identify the genetic changes underlying coevolution, we isolated first- and second-order resistant bacteria as well as a host-range mutant phage from each chemostat and sequenced their genomes. We found that first-order resistant bacteria consistently evolved resistance to phage via mutations in the gene, waaG, which codes for a glucosyltransferase required for assembly of the bacterial lipopolysaccharide (LPS). Phage also showed repeatable evolution, with each chemostat producing host-range mutant phage with mutations in the phage tail fiber gene T3p48 which binds to the bacterial LPS during adsorption. Two second-order resistant bacteria evolved via mutations in different genes involved in the phage interaction. Although a wide range of mutations occurred in the bacterial waaG gene, mutations in the phage tail fiber were restricted to a single codon, and several phage showed convergent evolution at the nucleotide level. These results are consistent with previous studies in other systems that have documented repeatable evolution in bacteria at the level of pathways or genes and repeatable evolution in viruses at the nucleotide level. Our data are also consistent with the expectation that adaptation via loss-of-function mutations is less constrained than adaptation via gain-of-function mutations.