A reaction path model was constructed in a bid to simulate diagenesis in the Magnus Sandstone, an Upper Jurassic turbidite reservoir in the Northern North Sea, UKCS. The model, involving a flux of source rock-derived CO2 into an arkosic sandstone, successfully reproduced simultaneous dissolution of detrital K-feldspar and growth of authigenic quartz, ankerite and illite. Generation of CO2 occurred before and during the main phase of oil generation linking source rock maturation with patterns of diagenesis in arkosic sandstones and limiting this type of diagenesis to the earlier stages of oil charging. Independent corroborative evidence for the model is provided by formation water geochemical data, carbon isotope data from ankerite and produced gas phase CO2 and the presence of petroleum inclusions within the mineral cements. The model involves a closed system with respect to relatively insoluble species such as SiO2 and Al2O3 but is an open system with respect to CO2. There are up to seven possible rate-controlling steps including: influx of CO2, dissolution of K-feldspar, precipitation of quartz, ankerite and illite, diffusive transport of SiO2 and Al2O3 from the site of dissolution to the site of precipitation and possibly the rate of influx of Mg2+ and Ca2+. Given the large number of possible controls, and contrary to modern popular belief, the rate of quartz precipitation is thus not always rate limiting.