The Raptors led 77-65 to start the fourth quarter, but Milwaukee stormed back and tied the score on back-to-back 3-pointers from O.J. Mayo with six minutes to play.
The Bucks missed their next six shots from the field and three of four free throws before Caron Butler's layup with 2:09 remaining made it 91-88. But Milwaukee couldn't get any closer as the Raptors finished on a 6-2 run.
Playing without point guards Brandon Knight and Luke Ridnour, the Bucks again got off to a slow start and struggled from the field, shooting 44 percent and going 6-of-17 on 3-point attempts.
Milwaukee's biggest problem came on the boards where the Bucks were outrebounded 60-38. Toronto was dominant on the offensive glass, finishing with 18 to the Bucks' six, and had a 21-4 advantage on second-chance points.
Mayo led Milwaukee with 16 points, Ersan Ilyasova added 14 with 6-of-12 shooting from the field and making both of his 3-point attempts.
John Henson scored 13 off the bench and Butler added 12 for Milwaukee (1-2).
NOTES: Raptors G Steve Novak was inactive because of tightness in his back. Novak, a native of nearby Brown Deer, Wis., played collegiately at Marquette University in Milwaukee. ... Bucks PG Brandon Knight was out of the starting lineup for the second consecutive game but returned to the floor for the first time since the season opener when he suffered a hamstring injury. Rookie Nate Wolters made his second start at point guard and Gary Neal started at shooting guard in place of Mayo. ... Toronto coach Dwane Casey said his team is still trying to find a defensive identity after allowing 94.5 points in the Raptors' first two games. ... Bucks coach Larry Drew said forward Giannis Antetokounmpo will see between 10 and 12 minutes per night as the 18-year-old rookie gets acclimated to the NBA game. Antetokounmpo, Milwaukee's first-round draft choice in June, has played 17 minutes in his first two games, averaging three points and a rebound.