"I just want to come out every night and play well, be real solid for my ballclub and run the team," said Williams, who had his sixth double-double of the season. "That's one thing (Milwaukee coach) Terry Porter was barking on all game, to just penetrate and create looks for my teammates.
"I was trying to get in the lane because they weren't helping off guys, so I felt like I had to finish. I was real frustrated when I missed one layup because it was there all night," he said.
Tyronn Lue had a season-high 27 points for Atlanta, losers of 22 straight road games and 12 in a row overall.
"This streak has been difficult for us, but all we can ask for is guys to continue to play hard and maybe we can turn it around," Lue said.
Williams was 9-of-13 from the field, matching a career high for scoring, and Michael Redd added 21 points despite shooting just 9-of-24 from the field for the Bucks.
"Obviously he has more confidence now," Redd said of Williams. "They believe in him. They trust in him and he's playing well."
Lue, averaging nine points per game, was 11-of-19 from the floor. Al Harrington had 19 points and nine assists for the Hawks.
"When you lose, you just don't get the calls, and I've been on both sides of the fence," Atlanta coach Mike Woodson said. "it's not any fun on this side of the fence right now."
After a layup by Williams gave Milwaukee a 101-96 lead with 44.8 seconds left, Lue answered with his third 3-pointer of the game to cut Milwaukee's lead to two with 39.9 seconds remaining.
Joe Smith's jumper extended the Bucks' lead to 103-99 with 19.6 seconds to play. Atlanta's Tom Gugliotta then hit a long jumper to bring the deficit back down to two with 14.4 seconds left.
However, Redd's two free throws with 13.1 seconds remaining closed out the scoring.
Milwaukee trailed by 13 points with 3:27 left in the first half before rallying to take its first lead of the game, 66-64, on Redd's basket at the 5:14 mark of the third quarter.
Mason's field goal gave the Bucks an 83-76 lead with 10:53 remaining in the fourth quarter, before Atlanta scored the next 11 points -- capped by a jumper by Harrington -- to take an 87-83 lead with 8:01 left.
Harrington's basket gave Atlanta an 89-86 lead with 6:42 remaining, but the Bucks scored the next seven points and never trailed again.
"We really settled for a lot of long jump shots," Porter said. "As the game went on we did a much better job of finishing and driving, finding guys on the perimeter."
Atlanta, 2-29 on the road, has not won away from home since Dec. 10 at Detroit. ... Milwaukee beat Atlanta for the 12th time in the last 13 games at the Bradley Center. ... Mason is averaging 19.7 points over his last seven games. ... Atlanta had a season-high 33 points in the first quarter after shooting 71.4 percent (15-of-21). ... Jason Olson of Kenosha, Wisc., won a 2005 Chevy SSR truck when he banked in a halfcourt shot at halftime. ... The Bucks have won eight of their last 10 home games.