"Today a free trade agreement was signed and we have been working on it for many years," Netanyahu told a joint news conference in Jerusalem.
Poroshenko hailed the signing as a "historic day."
"We eliminate existing trade barriers, provide companies from Ukraine and Israel with wider market access, and further enhance business activity," Poroshenko wrote on Twitter.
"This agreement will promote the development of bilateral trade and economic cooperation between our countries."
Israel and Ukraine have been negotiating the free trade agreement for the last seven years.
Earlier, the Ukranian president visited Yad Vachem, the Holocaust memorial in Jerusalem, and met with his Israeli counterpart Reuven Rivlin.