The human pathogen Streptococcus pneumoniae produces soluble pneumolysin monomers that bind host cell membranes to form ring-shaped, oligomeric pores. We have determined three-dimensional structures of a helical oligomer of pneumolysin and of a membrane-bound ring form by cryo-electron microscopy. Fitting the four domains from the crystal structure of the closely related perfringolysin reveals major domain rotations during pore assembly. Oligomerization results in the expulsion of domain 3 from its original position in the monomer. However, domain 3 reassociates with the other domains in the membrane pore form. The base of domain 4 contacts the bilayer, possibly along with an extension of domain 3. These results reveal a two-stage mechanism for pore formation by the cholesterol-binding toxins.