ATLANTA -- One game after his 57-point performance ended with a loss, Michael Redd couldn't stand the thought of another setback.
"Personally, I don't think I played the way I should have tonight," Redd said. "But I'll take 30 and win as opposed to 57 and a loss all day. We played team ball tonight."
"It's tough to lose games like this," Johnson said. "This is definitely a game we should have won, but we let it get away from us."
With four seconds remaining, rookie Ersan Ilyasova ended the scoring by hitting a free throw for the Bucks. Johnson caught an inbounds pass and drove past Redd before attempting to put the ball in both hands for a desperation 3-pointer, but Patterson slapped the ball out of his hands.
"It's good to get a good, tight win and hold a team in the fourth quarter," said Milwaukee coach Terry Stotts, the predecessor to Mike Woodson in Atlanta. "Any time you can get a win on the road, that speaks for itself."
Johnson and Tyronn Lue each scored 29 for the Hawks, who have lost two straight after a four-game winning streak. Lue had eight points in the final 2:11 of the third quarter, including an 18-footer that gave Atlanta its first lead at 77-75.
The Hawks finished a 31-8 run on Josh Childress' acrobatic follow shot, giving them an 88-78 lead with 9:57 remaining.
"In a situation like that, you look back and say what could have been, but what it comes down to is we got off to a slow start," said Atlanta rookie forward Shelden Williams, who had 15 rebounds. "That's something we can't afford to do. We always play tough down to the wire, but we need to come out of the gate playing that way."
In the final 3:11, the lead changed hands seven times. Lue's 3-pointer with 40 seconds remaining put the Hawks ahead 101-99, but Redd drove the right side of the lane and banked in a shot as Johnson fouled him nearly 13 seconds later.
Redd, who scored a franchise-record 57 points in a 113-111 home loss to Utah on Saturday, gave the Bucks the lead for good with a free throw.
Patterson scored 16 points and Andrew Bogut 13 for Milwaukee.
"We understood how important this game was to get off that losing slide," Redd said. "We were up and down in the fourth quarter and got some stops when we needed them."
Josh Smith had a dreadful night for Atlanta, fouling out with 1:27 remaining to allow Redd to convert a three-point play. Hitting just one of 12 shots from the field, Smith also committed a turnover by stepping out of bounds at the 4:56 mark.
The Bucks led the entire first half. Their biggest advantage was 17 points, coming on Brian Skinner's tip-in early in the second quarter.
"We came out so flat and we dug a hole and we had to fight back, but we just didn't make enough plays," Woodson said. "It's kind of like what happened to us last season. We couldn't come up with a key rebound. If we did, we come up with a 'W.' "
- Milwaukee F Charlie Villanueva sprained his left elbow late in the second quarter. Though he stayed in the game for the final 6.4 seconds, Villanueva didn't return in the second half. He's listed as day-to-day.
- The Bucks have six of last seven from Atlanta, including three straight at Philips Arena.
- Johnson, the Eastern Conference player of the week, has scored at least 25 points in the first seven games to extend his franchise record.