Kelly Oubre Jr. had 27 points and 13 rebounds, Devin Booker added 22 points and Deandre Ayton had 19 points and 12 rebounds, including a key layup with 35.8 seconds to play that gave the league-worst Suns a four-point lead.
All-Star Giannis Antetokounmpo had 21 points and 13 rebounds, and Malcolm Brogdon scored 19 points for the Bucks, who have lost two straight games for the first time this season. Until Monday, the Bucks were the only team in the league that hadn’t yet lost back-to-back games.
The Bucks led by 16 points in the first half only to trail by three in the third quarter.
Milwaukee, the team with the NBA’s best road record coming in, couldn’t put away Phoenix in the final quarter.
Booker swished a 3-pointer with 2:37 to go for a 100-98 Suns lead, and Oubre’s corner 3 made it 103-100. Brogdon got a favorable high bounce on a 3 to tie it, but Tyler Johnson and Ayton scored the next two baskets for the Suns to effectively seal their third win in four games since snapping their franchise-record, 17-game losing streak.
The only teams the Suns haven’t lost to this season are the Bucks and New York Knicks, the teams with the best and worst records in the Eastern Conference, respectively.
“It’s kind of hard to think we lost to Phoenix twice,” Antetokounmpo said. “But they played better than us. They came out there and set the tone.”
“I don’t think we take them as seriously as we should,” Brogdon said. “It’s just a lack of focus.”
The Suns were 13.5-point underdogs in both their games against the Bucks this season. Only once in the past 25 regular seasons did one team beat another team multiple times in a season as an underdog of at least 13 points. The Chicago Bulls did it against the Los Angeles Lakers in 2001-02.
ESPN Stats & Information and The Associated Press contributed to this report.