Kelly Oubre, Jr. scored a career-high 19 points for the Wizards, who have won three of four.
Giannis Antetokounmpo led Milwaukee with 28 points and 13 rebounds. His two free throws gave the Bucks a 100-95 lead with 4:28 left, but the Wizards rallied while the Bucks went cold.
Wall’s driving layup gave the Wizards a 101-100 lead with 3:03 left. Oubre then got a steal and his dunk at the other end made it 103-100.
Bradley Beal’s driving layup pushed the lead to 105-100 and Wall soon added a free throw.
Mirza Teletovic‘s 3-pointer with 5.9 seconds left pulled the Bucks to 108-105, but Beal hit two free throws to seal the win. Teletovic finished with 25 points on 8-for-12 shooting.
Wall scored nine of his points in the fourth quarter.
The Bucks, who committed 20 turnovers, have lost three of four.
Trailing by eight early in the third quarter, the Wizards went on a 16-3 run and led 70-65 before the Bucks answered to make it 77-77 after three.
The first half featured seven lead changes.
Washington trailed by nine after one quarter, but opened the second with a 12-0 run fueled by their reserves and the score was tied 52-52 at halftime.
Bucks: Milwaukee shot 14 for 23 (60.9 percent) in the first quarter, including 4 for 7 from 3-point range. … Bucks have hit at least 10 3s in each of the last three games. … After scoring 27 points in each of his last two games, Jabari Parker had eight points.
Wizards: It was Wall’s 12th double-double of the season. . Gortat finished with nine points and 14 rebounds. . Wizards have won four of their last five versus the Bucks. . The Wizards have won back-to-back games for just the second time this season. . Markeiff Morris (15 points) and Otto Porter, Jr. (10) were the other Wizards in double figures.
Bucks: At Toronto on Monday.
Wizards: At Miami on Monday.