The Liberia-flagged Brave Commander departed from the Ukraine's Black Sea port of Yuzhne, east of Odesa, on Sunday, a regional official said.
It plans to sail to Djibouti, where the grain will be unloaded and transferred to Ethiopia under a UN World Food Programme initiative.
Ukraine and Russia signed an UN and Turkey-brokered deal in Istanbul on July 22 to restart grain shipments through the Black Sea, which had been disrupted by the war in Ukraine, following Russia's invasion in February.
Ukraine and Russia are two of the world's biggest grain exporters.
The UN said in June that 750,000 people in Ethiopia, Sudan, South Sudan, Afghanistan and Yemen are facing starvation.
More than 400,000 of those at risk are in Ethiopia, according to a report by the UN Food and Agriculture Organisation and the WFP.
“The capacity is there. The grain is there. The demand is there across the world and in particular, these countries,” WFP Ukraine co-ordinator Denise Brown said.
“So, if the stars are aligned, we are very, very hopeful that all the actors around this agreement will come together on what is really an issue for humanity. So, today was very positive.”
Sixteen commercial shipments of grain have left Ukraine since August 1, but the Brave Commander is the first to set sail with a cargo of humanitarian aid.
Meanwhile, the first ship to depart Ukraine under the Istanbul deal was detected near the port of Tartus in Syria on Sunday, two shipping sources said, after the vessel had been sailing with its transponder off.
The Sierra Leone-flagged Razoni set sail with a cargo of 26,000 tonnes of corn that had originally been destined for Lebanon, which has been suffering an economic crisis that has plunged about half of its population into food insecurity.
However, the original buyer refused the delivery over quality concerns and the ship sailed to Turkey, docking in Mersin on August 11.
When it set sail again the following day, it did not keep its transponder on. Two shipping sources, one of them in Tartus, confirmed to Reuters on Sunday that the ship was approaching the north-west Syrian port.
Ukraine has previously accused Syria of importing at least 150,000 tonnes of grain it said was plundered from Ukrainian warehouses after Russia's invasion in February. Russia has denied stealing Ukrainian grain.
Kyiv cut off diplomatic ties with Syria in June, after Damascus recognised the independence of the eastern enclaves in Luhansk and Donetsk.
Ukraine's Ministry of Transport said it was “not responsible for vessel and cargo after it has left the Ukraine, moreover after vessel's departure from [a] foreign port”.
“Our task has been to reopen seaports for grain cargo and it has been done,” the ministry said.