– Efter samtal med de två parterna, har vi säkrat förlängningen av avtalet som skulle gått ut den 19 mars, säger presidenten i en tv-sänd kommentar dagen innan avtalet skulle ha löpt ut.
Tidigare i veckan kom uppgifter om att Ryssland förlänger avtalet, men med en ny tidsfrist på 60 dagar. Då sade Ukraina att det ryska beskedet stred mot tidigare avtal, men förkastade inte förlängningen.
Enligt Ukraina är det nu 120 dagar som gäller, och landets infrastrukturminister tackar FN och Turkiet efter lördagens besked.
"Svartahavsavtalet är förlängt i 120 dagar. Är tacksam gentemot António Guterres, FN, president Recep Tayyip Erdogan, minister Hulusi Akar (Turkiets försvarsminister) och våra partner för att ha hållit sig till överenskommelsen", skriver den ukrainske infrastrukturministern Oleksandr Kubrakov på Twitter.
Ryssland hävdar å sin sida att landet gått med på en 60 dagar lång förlängning av avtalet.
"Vi ser uppgifter från parter i 'spannmålsavtalet' att avtalet har förlängts i 120 dagar", uppger det ryska utrikesdepartementets talesperson Maria Zacharova enligt den ryska nyhetsbyrån Interfax.
"Vi har återkommande uppgett... att den ryska sidan har meddelat alla avtalets parter om att den förlänger avtalet i 60 dagar", tillägger hon.
Spannmålsavtalet slöts för första gången mellan Ukraina och Ryssland på initiativ av FN och Turkiet i slutet av juli i fjol.
Avtalet innebar att spannmål, olja och majs får lämna jordbrukslandet Ukraina genom tre ukrainska hamnar – Odessa, Pivdennyj och Tjornomorsk.
Rättad: I en tidigare version av texten fick infrastrukturminister Oleksandr Kubrakov fel titel på ett ställe.