Oxygenation of the Earth's surface is increasingly thought to have occurred in two steps. The first step, which occurred ~2,300 million years (Myr) ago, involved a significant increase in atmospheric oxygen concentrations and oxygenation of the surface ocean. A further increase in atmospheric oxygen appears to have taken place during the late Neoproterozoic period (~800-542Myr ago). This increase may have stimulated the evolution of macroscopic multicellular animals and the subsequent radiation of calcified invertebrates, and may have led to oxygenation of the deep ocean. However, the nature and timing of Neoproterozoic oxidation remain uncertain. Here we present high-resolution carbon isotope and sulphur isotope records from the Huqf Supergroup, Sultanate of Oman, that cover most of the Ediacaran period (~635 to ~548Myr ago). These records indicate that the ocean became increasingly oxygenated after the end of the Marinoan glaciation, and they allow us to identify three distinct stages of oxidation. When considered in the context of other records from this period, our data indicate that certain groups of eukaryotic organisms appeared and diversified during the second and third stages of oxygenation. The second stage corresponds with the Shuram excursion in the carbon isotope record and seems to have involved the oxidation of a large reservoir of organic carbon suspended in the deep ocean, indicating that this event may have had a key role in the evolution of eukaryotic organisms. Our data thus provide new insights into the oxygenation of the Ediacaran ocean and the stepwise restructuring of the carbon and sulphur cycles that occurred during this significant period of Earth's history.