Corey Maggette added 16 points and nine rebounds for Milwaukee, which snapped its four-game losing streak.
Toronto lost its 10th straight road game. Andrea Bargnani scored 23 points and DeMar DeRozan Finished with 18 points and seven rebounds for the Raptors, who were seeking consecutive victories for the first time since Dec. 3.
Toronto, coming off a 111-100 victory over Minnesota on Friday that snapped a 13-game losing streak, got guard Leandro Barbosa back from a right hamstring strain. He played nearly 25 minutes and had eight points.
Milwaukee used a 14-0 run early in the fourth quarter to pull away.
The Bucks were 0 for 10 from 3-point range when Salmons started the run with 3 for a 71-62 lead with 10:21 left.
Salmons, who replaced Carlos Delfino in the starting lineup, came off the bench the previous three games after missing eight games with a right hip injury. He last started on Jan. 17.
Delfino added another 3-pointer and then capped the run when he hit a one-handed floater in the lane for an 82-62 with 5:46 lead.
Toronto missed nine field goals and had one turnover during Milwaukee's run.
The Raptors were also held scoreless for 6 minutes before Trey Johnson's basket cut the margin to 82-64 with 4:45 remaining.
Andrew Bogut scored 14 points and blocked five shots for Milwaukee.
The Bucks also got 12 points from Brandon Jennings, and 10 points and 14 rebounds from Luc Mbah a Moute.
Toronto shot 36 percent (31 for 86) and missed all 10 3-point shots.
Milwaukee led 40-38 at halftime, but opened the third quarter with an 11-2 run. Salmons' jumper capped it to give his team a 51-40 lead with 8:42 remaining.
Toronto trimmed the margin to 64-58 on a dunk by DeRozan with 28.9 seconds left.
NOTES: The last time Milwaukee lost five straight games was Nov. 16-26. The Raptors are 5-23 on the road and haven't won an away game since Jan. 5 at Cleveland. Bogut has at least one blocked shot in his last 21 games. He entered the game leading the league with 2.8 blocks per game. Having not played since Friday, Toronto had three straight days without a game for the second time this season.