The Bucks improved to 10-16 without Giannis Antetokounmpo, who missed his 12th straight game with a calf strain. Miami's three-game winning streak ended despite Norman Powell's 26 points and Bam Adebayo's 18 points and nine rebounds.
Milwaukee led 63-58 at halftime before the teams exchanged leads in the third quarter. The Bucks pulled ahead for good late in the fourth when Porter sank a 3-pointer from the corner while drawing a foul and converting the free throw to make it 118-116.