Ocean deoxygenation is becoming a major stressor for marine ecosystems. Climate change affects ocean oxygen by altering wind fields and air-sea heat and freshwater fluxes. However, the quantitative contribution of these drivers to ocean deoxygenation remains uncertain. Here, we use a global ocean biogeochemistry model run under historical atmospheric forcing to show that deoxygenation since the late 1960s has been driven mainly by changing air-sea heat and freshwater fluxes and associated changes in solubility and ocean circulation. However, ~60% of this deoxygenation was offset by a wind-driven increase in ventilation and interior oxygen supply, mainly in the Southern Ocean. In the coming decades, the projected slowdown in wind stress intensification, combined with continued ocean warming, could greatly accelerate ocean deoxygenation. While ocean biogeochemistry models under historical atmospheric forcing struggle to reproduce the observed deoxygenation after 2000, fully coupled Earth system models capture the trend, indicating systematic problems in hindcast simulations.