CHICAGO -- Remember those Nets that went 0-18 for the worst start in NBA history? Now, they're on a roll.
They've put together two wins in their last three games, including their first road victory Tuesday night when they beat the struggling Chicago Bulls 103-101 behind Brook Lopez's 25 points and a clutch go-ahead basket from Devin Harris.
"Is it over?" interim coach Kiki Vandeweghe said after a wild finish. "This is really about our guys coming to play at the end."
• The Nets won their second game of the season and first on the road. Winners of two of their last three, the Nets also snapped an 18-game road losing streak dating back to last season.
• Brook Lopez led the Nets with 25 points and 10 rebounds, his ninth 20-point, 10-rebound game this season.
• It was just the third time this season the Nets have topped 100 points.
• Derrick Rose scored 27 points and handed out 10 assists for his first double-double since Nov. 5.
-- ESPN Stats & Information
The Nets, who finally cracked the victory column by beating Charlotte before losing to the Knicks, are now 2-19 -- including 1-12 away from home.
"The Nets are finally getting healthy. They will start winning some games," said Chicago coach Vinny Del Negro, who has his own set of problems with eight losses in nine games.
Derrick Rose, who had 11 of his 27 points in the final quarter, drove and banked in a high arching shot to give Chicago a 100-99 lead with 19.5 seconds remaining.
But Harris answered with a driving shot of his own with Rose guarding him, putting the Nets back up 101-100 with 14.9 seconds to go.
"I saw an opening and I knew what to do," said Harris. "It was the same play they ran, we ran on the other end. Pretty much an isolation. It was my shot to take. It just happened that we both ended up hitting runners, going right."
After a timeout, the Bulls couldn't get the ball back to Rose, who had been driving to the basket or getting in the lane for good shots.
Instead, Chicago's John Salmons missed a 3-point attempt before Rafer Alston made two at the free throw line with 6.3 seconds remaining, giving New Jersey a 103-100 lead.
"The play was designed for Derrick to come and get the ball. ... Derrick was unable to get open and we went to John Salmons," Del Negro said. "We did not attack on that and pulled back for the jumper."
After Alston's free throws, Rose was fouled with 2.1 seconds to go. He made the first and missed the second intentionally before Lopez grabbed the rebound -- his 10th of the game -- as the buzzer sounded.
"We just continue to get better," said Douglas-Roberts, Rose's college teammate at Memphis. "The Bulls made a lot of runs at home and we were able to withstand those runs, which is big for an NBA team."
Douglas-Roberts had three baskets as the Nets began the second half with a 10-0 run to pull out to a 64-54 lead, and they increased it to 12 on a basket by Lopez, who would later pick up his third and fourth fouls in the third quarter.
The Nets led 80-70 after three, and when the Bulls missed four straight free throws to start the final period, the boos began to pour down at the United Center.
Then the Bulls went on a 9-0 run.
Taj Gibson sank a jumper, Rose drove for a basket, Deng dunked and Salmons hit a 3-pointer from the corner to cut the lead to one.
Lopez picked up a loose ball to score for the Nets, but Deng hit another 3-pointer to tie the game at 82.
Rose finally put the Bulls ahead with a basket at 94-93, but Harris responded with a drive, and Douglas-Roberts sank a jumper for a three-point Nets' lead with 2:10 left.
"When we make a run like that at home, we got to think mentally we have the advantage. We could never pull it together," said Chicago's Joakim Noah, who suggested his team's effort wasn't good enough over the entire game.
"It never feels good to lose to the team with the worst record in the NBA," he added. "It hurts."
Entering the game, the Nets were averaging an NBA-low 87.6 points per game. The Bulls were two from the bottom at 90.4. ... Chicago rookie Gibson scored a career-high 20 on 8-of-12 shooting after he was replaced in the starting lineup by Brad Miller.