The Balkan nation's stifling defence forced Canada into turnovers, and limited their North American counterparts to 15 points in the first quarter and 39 points at the half.
"We knew we had to set the tempo before the game because if you follow their rhythm, it's impossible to guard them," Serbian centre Nikola Milutinov, who scored 16 points and grabbed 10 rebounds, told reporters. "We had to make the first punch."
Shai Gilgeous-Alexander, Canada's leading scorer, passer, and rebounder, was held scoreless in the first 15 minutes amid tight coverage and foul trouble. He finished the game with 15 points, two rebounds, and nine assists, far below his tournament average of 25 points per game.
FIBA's sixth-ranked Serbia posted a 33-22 rebounding advantage and scored 46 points in the shaded lane.
Serbia lost to the United States 129-92 in the final of the tournament's 2014 edition in Madrid, Spain. The Balkan nation lost in the quarter-finals of the 2019 tournament in China.
The United States play Germany at 1440 CET on Friday for the other slot in the final.
The 19th edition of FIBA's quadrennial flagship event will end with the crowning of a new champion on Sunday in Manila.