The group said it would cut output in May and June by 10 million barrels to help prop up prices. The cuts will then be eased gradually until April 2022.
Opec+, made up of Opec producers and allies including Russia, held talks on Thursday via video conference.
Talks were complicated by disagreements between Russia and Saudi Arabia.
The group and its allies agreed to cut 10 million barrels a day or 10% of global supplies from their pre-crisis levels. Another 5 million barrels is expected to be cut by other nations.
It said the cuts would be eased to eight million barrels a day between July and December. Then they would be eased again to six million barrels between January 2021 and April 2022.
Oil prices slumped in March after Opec+ failed to agree cuts.
In the wake of the March meeting, Saudi Arabia and Russia moved to boost production in order to retain market share amid falling global demand.
That, together with the collapse in demand for oil amid the coronavirus pandemic, help to push oil prices to 18-year lows by the end of March.
Prices have recovered some ground since then. Last week, prices jumped 20% after US President Donald Trump said he expected Saudi Arabia and Russia to end their feud.
Thursday’s talks will be followed by a conference call on Friday between energy ministers from the G20 countries. It will be hosted by Saudi Arabia.
Kirill Dmitriev, head of Russia’s wealth fund and one of Moscow’s top oil negotiators told Reuters: “We are expecting other producers outside the Opec+ club to join the measures, which might happen tomorrow during G20.”
The US has not committed itself to any cuts although it did say that its oil output was gradually reducing anyway due to plunging oil prices.
President Donald Trump had warned Saudi Arabia that the US would impose sanctions if it did not cut oil production.