The nearly one-hour discussion, which reportedly included Xi advocating for peace negotiations, was met by Russian accusations that Ukraine was undermining efforts to end the fighting.
Beijing says it is neutral in the Ukraine conflict and Xi has never condemned the Russian invasion, but the Chinese leader has come under increased pressure from Western nations to step in and mediate.
A 12-point "position paper" published by China in February was seen by many Western governments as skewed towards Russia, and a friendly Moscow visit in March by Xi to meet Russian President Vladimir Putin led to widespread criticism.
"I had a long and meaningful phone call with President Xi Jinping," Zelensky said on Twitter.
"I believe that this call, as well as the appointment of Ukraine's ambassador to China, will give a powerful impetus to the development of our bilateral relations," he wrote.
Zelensky's spokesman Sergiy Nykyforov said on Facebook that the two leaders had "an almost one-hour-long telephone conversation".
Chinese state broadcaster CCTV reported that during the call -- which was initiated by Kyiv -- Xi told Zelensky that "talks and negotiation" were the "only way out" of the war.
"On the issue of the Ukraine crisis, China has always stood on the side of peace and its core position is to promote peace talks," CCTV reported Xi as saying.
According to a readout of the call, Xi said China "will neither watch the fire from the other side, nor add fuel to the fire, let alone take advantage of the crisis to profit".
"When dealing with the nuclear issue, all parties concerned should remain calm and restrained, truly focus on the future and destiny of themselves and all mankind, and jointly manage and control the crisis," Xi said.
China also said it would send a delegation and a "special representative" of its government to Ukraine with the aim of finding a "political settlement" to the conflict.