Det Internationella bilsportförbundet Fia tog beslutet och sätter taket på 145 miljoner dollar, motsvarande cirka 1,3 miljarder kronor.
Sedan sänks taket till 140 miljoner dollar 2022 och 135 miljoner 2023-2025.
I dag bränner några av stallen över 200 miljoner dollar per år.
"Formel 1 är en vinnare i dag. Det är ett oerhört viktigt steg för vår sport. Det har varit finansiellt ohållbart i F1 ett tag, och utan det här beslutet hade vi riskerat framtiden för F1 och dess deltagare", säger Zak Brown, vd för McLaren Racing, i ett uttalande.
I beslutet finns också restriktioner i hur mycket utveckling som får göras på den aerodynamiska sidan i år och nästa år, bland annat strikta maxkrav på tiden i vindtunnel.
F1-stallen har sedan tidigare varit överens om villkoren, men Fia tog det slutgiltiga beslutet under onsdagskvällen.