"When we get our hands on the ball, that's when we're the best," Dudley said. "Because we get out in transition."
The Wizards won their third straight and snapped a three-game home skid.
Beal came off the bench and played 23 minutes in his first game since Dec. 9. He missed 16 games with a stress reaction in his lower right leg, but insisted he was "100 percent" recovered just before the midway point of Washington's season.
"I just took my time with this injury," said Beal, who missed eight games with a similar injury last season. "I definitely wanted to make sure I was 100 percent before I got back out here."
Giannis Antetokounmpo added 19 points and 11 rebounds for the Bucks. He scored 13 in a third quarter that ended with Milwaukee leading 74-71 after trailing by 19 before halftime.
But the Bucks gave the ball away six times before scoring their next points, helping Washington start the fourth quarter on a 22-6 run.
"The first play of the fourth quarter was a turnover," interim coach Joe Prunty said. "That's obviously not the tone we want to set when you come out (after) taking the lead."
Sessions' dunk off Nene's outlet feed gave the Wizards a 75-74 lead. Later, Wall kicked out to Sessions for an open 3-pointer before driving the lane and flushing home a strong, left-handed dunk that made it 93-80 with 5:29 left.
Dudley hit a pair of late 3s to help fend off one last comeback. Milwaukee got within three in the final moments only to see Beal hit a pair of free throws with 1.6 seconds to play.
"The win felt good, body felt good, so hopefully we continue to ramp it up," Beal said.
NIGHT AND DAY
Milwaukee's 27 turnovers were a season high, one night after the Bucks set a season low with five giveaways in a 106-101 victory over the Chicago Bulls. Milwaukee was looking to sweep its first back-to-back games since Nov. 6-7.
"Way too much," Monroe said. "Even with the 27 turnovers, we were in the game. If we take care of the ball, we probably give ourselves a better chance to win."
GORTAT STILL OUT
Wizards coach Randy Wittman said center Marcin Gortat was day to day after missing his second game with an infection in his left knee.
Gortat had to be hospitalized for treatment.
"I don't think he's in there now," Wittman said. "This afternoon, they were giving him intravenous antibiotics to get it quicker into his system."
Bucks: G O.J. Mayo exited in the second quarter with a sore left hamstring. ... G Jerryd Bayless (ankle) remained out with no certain timetable for return, Prunty said. Bayless hasn't played since Jan. 4.
Wizards: F Otto Porter left the game in third quarter with a sore right hip. ... Wittman said it's not clear yet if Beal's injury will lead to a restriction on his minutes for the rest of the season or even beyond. "I think as he gets back in the flow of it, the doctors and him will make that decision," the coach said.
Bucks: Home against Atlanta on Friday.
Wizards: At Indiana on Friday.
NBA trade tracker: Grades and details for every deal
Which players and picks are on the move? We have a rundown of the latest deals.
2020 NBA free agency and trades: Latest buzz, news and reports
NBA free agency has officially begun. Keep it here for the latest news and updates on signings and trades all offseason.
J.J. Barea, Dallas Mavericks agree to 1-year, $2.6 million deal, sources say
J.J. Barea, who has spent 11 of his 14 NBA seasons with the Mavericks, reached a one-year deal to remain with the team for the veteran's minimum of $2.6 million, sources told ESPN.