The announcement was delayed amid scuffles and allegations of vote-rigging by Mr Odinga’s campaign.
Four of the seven members of the electoral commission refused to endorse the result, saying it was “opaque”.
“We cannot take ownership of the result that is going to be announced because of the opaque nature of this last phase of the general election,” said Juliana Cherera, the vice-chairperson of Independent Electoral and Boundaries Commission (IEBC).
“We are going to give a comprehensive statement… and again we urge Kenyans to keep calm,” she added.
Mr Odinga’s party agent earlier alleged that there were “irregularities” and “mismanagement” in the election.
This was the first time Mr Ruto, 55, had run for president. He has served as deputy president for 10 years, but fell out with President Uhuru Kenyatta, who backed Mr Odinga to succeed him.
The 77-year-old former prime minister, who got 48.8% of the vote, was running for president for the fifth time.
In his speech, President-elect Ruto thanked the electoral commission for overseeing the election.
“It is a wonderful evening… all sovereign power belongs to the people of Kenya,” Mr Ruto said, calling Mr Chebukati a “hero” and dismissing the other commissioners’ dissent of his win as “a side show”.