Species are conventionally defined as groups of individuals that breed with each other, but not with those of other species. However, this does not apply to bacteria because, even if they reproduce clonally, DNA may be donated between distinct species. Nevertheless, bacterial species do exist, and a fundamental question is how they are created. We present a mathematical model to describe bacterial speciation. The model predicts that two groups of ecologically different bacteria, assumed to live in partially overlapping habitats, may evolve into genetically distinguishable clusters, without being able to proceed to full separation. Analysis of a divergent Streprococcus pneumoniae subgroup shows that such ‘satellite species’ exist and can be distinguished from more rapidly diverging clusters, like the one we detect in Campylobacter jejuni.