Gavin Schmitt of Saskatoon had 17 points as the Canadians won in scores of 25-14, 25-19, 25-22 — Canada's second victory in three games.
"It was a good match, we came out very aggressive and put a lot of pressure on them, forcing them into a lot of mistakes," Schmitt said. "They changed their line-up in the third, and they played like they had nothing to lose. We had to come together a bit at the end to pull that one out."
The Canadians topped winless Egypt in blocking (9-2) and service aces (8-3).
Nicholas Hoag of Sherbrooke, Que., and Gord Perrin of Creston, B.C., each scored 10 points for the Canadians, who need to finish top-four in the six-team pool to move on to the second round.
"I'm very happy for the three points that we got today, that's the most important thing and will help us toward our goal of making it into the next round and further," said Canadian captain Fred Winters. "We just knew what we had to do; I think our offence was really good. We just took care of business and had a little slip in the third set, but overall we were able to recover."
Canada opened the tournament with a loss to No. 2 Russia then rebounded to beat Bulgaria.
Canada plays China on Sunday to wrap up the preliminary round.