It said staff of Russian nuclear operator Rosatom had hastily left the plant before the attacks, which damaged a power cable and forced one of the reactors to stop working.
Ukraine president Volodymyr Zelensky in his daily video address said Russia should “take responsibility for the very fact of creating a threat to a nuclear plant”.
“Today, the occupiers have created another extremely risky situation for all of Europe: they struck the Zaporizhzhia nuclear power plant twice. Any bombing of this site is a shameless crime, an act of terror,” he said.
The Ukrainian foreign ministry earlier said the “possible consequences of hitting a working reactor are equivalent to using an atomic bomb”.
The defence ministry in Moscow denied the reports.
“Ukrainian armed units carried out three artillery strikes on the territory of the Zaporizhzhia nuclear power plant and the city of Energodar,” it said.
The new spike in tensions came as Russian president Vladimir Putin was meeting his Turkish counterpart Recep Tayyip Erdogan in the Russian Black Sea resort of Sochi.
Putin thanked Erdogan for helping orchestrate the resumption of Ukrainian grain shipments, the first of which is due to arrive in Lebanon on Sunday according to Ukraine’s embassy in Beirut.
The Sierra Leone-flagged bulk carrier Razoni set sail from the Ukrainian port of Odessa on Monday carrying 26,000 tonnes of corn -- the first departure under a UN-backed deal, brokered with Turkish help, to ease the global food crisis.
Kyiv said another three ships loaded with grain set sail from Ukraine on Friday, heading for Turkey and markets in Ireland and Britain. A further 13 are waiting to depart.
“Deliveries have already begun. I want to thank you, both for this and for the fact that at the same time an accompanying decision was made on uninterrupted supplies of Russian food and fertilisers to world markets,” Putin told Erdogan in Sochi.
Asli Aydintasbas, a fellow at the European Council on Foreign Relations, wrote in a report last week that the war in Ukraine had “restored Turkey’s self-image as a key geopolitical player” and given Erdogan a higher profile than at any time in recent years.
The Turkish leader wants to translate the success into truce talks in Istanbul between Putin and Ukrainian President Volodymyr Zelensky.
The rare diplomatic breakthrough was overshadowed by events on the ground in Ukraine, and Moscow’s announcement on Friday that it was imposing entry bans on 62 Canadian citizens including government officials.
The Russian foreign ministry said the list included figures known for “their malicious activity in the fight against the ‘Russian world’ and our traditional values”.
In Ukraine, a controversy has flared over accusations that it is violating international law and endangering civilians in its fight against the Russian invasion.
Amnesty International released a report on Thursday listing incidents in 19 cities and towns where Ukrainian forces appeared to have put civilians in harm’s way by establishing bases in residential areas.
President Zelensky equated the accusations to victim-blaming. In his evening address on Thursday, he said the rights group had sought to offer “amnesty (to) the terrorist state and shift the responsibility from the aggressor to the victim”.
“There is no condition, even hypothetically, under which any Russian strike on Ukraine becomes justified. Aggression against our state is unprovoked, invasive and terrorist,” he added.
“If someone makes a report in which the victim and the aggressor are supposedly equal in some way... then this cannot be tolerated.”
Amnesty said a four-month investigation had found that the Ukrainian military had established bases in schools and hospitals, and launched attacks from populated areas.
It said the tactics violated international humanitarian law and rebuffed criticism of its report.
“The findings... were based on evidence gathered during extensive investigations, which were subject to the same rigorous standards and due diligence processes as all of Amnesty International’s work,” secretary general Agnes Callamard told AFP in emailed comments.
On Friday, Zelensky’s office and local authorities reported overnight Russian bombardments targeting the southern city of Mykolaiv with widely-banned cluster bombs and heavy artillery -- wounding 20 people, including a 14-year-old boy.
Mykolaiv is on the main route to Odessa, Ukraine’s biggest port on the Black Sea, and is the closest city to the southern front.
Several missiles struck Zaporizhzhia city overnight and there was heavy bombardment of Ukraine’s second city Kharkiv, in the northeast.
Ukrainian forces are conducting a counter-offensive in the south, where they claim to have retaken more than 50 villages previously controlled by Moscow.