The 76ers, who are a league-best 10-1 at home, improved to just 4-7 away from the Wells Fargo Center.
Butler, whose first game-winner with the Sixers ruined Kemba Walker’s 60-point performance in Charlotte, led Philadelphia’s fourth-quarter charge after it looked sluggish throughout the first three quarters.
Brooklyn led 118-105 after Dinwiddie’s basket forced the 76ers to call timeout with 4:57 left in the fourth quarter.
Philadelphia then went on a 16-2 run and went ahead 121-120 on JJ Redick’s 3-pointer with 1:03 remaining, its first lead since Embiid scored the game’s first two points.
Joe Harris answered with a 3 of his own to put the Nets back ahead but Embiid came back on the other end, converting a three-point play after Harris fouled him to give Philadelphia a 124-123 lead.
Dinwiddie briefly put Brooklyn back on top with a jumper over Redick, setting the stage for Butler’s big shot.
76ers: Embiid has 18 20-point games this season, second to Kevin Durant’s 19.
Nets: Brooklyn’s 14-point lead at the half was its largest of the season.
76ers coach Brett Brown said he expects Markelle Fultz to proceed with a doctor’s appointment Monday to have his right shoulder examined. Fultz has missed his last three games and has not played or practiced since Tuesday when his agent announced that the top pick in the 2017 NBA draft would be seeing a specialist in New York. The 20-year-old is averaging 8.2 points in 19 games this season.