The Hawks could have clinched the final Eastern Conference berth had the Knicks lost in Toronto.
Instead, Atlanta remained two games up with three to play, needing just one more win or New York loss to secure its postseason place.
Atlanta can wrap up its spot by beating Miami at home tonight.
Jeff Teague added 22 points for the Hawks, who won for just the fifth time in 13 games and are only 36-43, but that might be good enough in the East. He frequently took advantage of a matchup with little brother Marquis, forced to play extended minutes while the Nets rested some regulars.
Atlanta was just 1-of-19 from 3-point range, but it hit 20 of its 21 free throws.
Mason Plumlee scored 17 points and Marcus Thornton had 14 for the Nets, who had their franchise-record 15-game home winning streak snapped.
Brooklyn, likely locked into the No. 5 seed, rested starters Deron Williams (right patella tendinitis) and Shaun Livingston, who missed his second straight with a sprained right big toe.
Paul Pierce had 13 points for the Nets, becoming the 18th player in NBA history with 25,000. But he was just 2-of-6 from the free-throw line and 1-of-7 behind the arc.
The Hawks opened their largest lead at 64-53 midway through the third quarter after a run of seven straight points, but the Nets made 10 of 16 shots in the period and were back within 74-73 heading to the fourth.
Jeff Teague, about 4½ years older than Marquis, couldn’t hide a big grin in the fourth quarter when a crossover dribble caused Marquis to fall down. But starter Jorge Gutierrez soon came back in and found Plumlee for a three-point play that gave Brooklyn an 88-87 lead with 2:22 to play.
Millsap’s reverse layup gave Atlanta the lead again, and the Hawks got a break when an original offensive foul call on Teague for charging into Gutierrez was overturned when instant replay showed Gutierrez was in the restricted area. The free throws made it 91-88 with 1:46 remaining, and the Nets couldn’t score again before Teague put it away with two more free throws.
Brooklyn led 23-16 after one but the Hawks turned around the game with a 39-point second quarter, when Jeff Teague scored 14 points in 7 minutes.
Much of that came when he was against Marquis, a seldom-used player in his second season and first with the Nets after he was traded this season from Chicago. Marquis Teague was forced to play extended minutes when Gutierrez picked up his third foul with 5:40 left in the half and the Nets leading by two.
Jeff Teague then scored 11 points in the final 5:16, converting a three-point play when his brother fouled him and later making two free throws after beating Marquis so badly with a crossover dribble that Marquis had to foul him to stop a layup.
NOTES: There was a moment of silence before the game for Lou Hudson, the former Hawks All-Star who died Friday at 69. ... Williams was hosting 65 families of children affected by autism in luxury suites. Williams, whose son is autistic, was scheduled for a meet-and-greet session with the families after the game.