The Clippers trailed by as many as 15 points midway through the first half before charging back late in the third quarter, taking their first lead of the game with 8:21 remaining in regulation after Williams made three free throws to make it 102-101.
After Jarrett Allen's free throws put Brooklyn up 110-108 with 5:21 to go, Harrell led the Clippers on a 9-0 run with six points, including a pair of free throws with 2:59 left to give Los Angeles a 117-110 lead.
D'Angelo Russell got Brooklyn within four on a 3-pointer with 2:09 remaining, but Gallinari's 17-foot jumper sealed it for Los Angeles.
The Nets lost for the fourth time in five games. Allen had 24 points and 11 rebounds, and Russell added 23 points and 10 assists.
Clippers: G Avery Bradley was held out due to a sprained left ankle. He has missed the last six games.
Nets: Allen's double-double was his fifth of the season after recording four in 72 games last season.
As Brooklyn was preparing to inbound the ball after calling timeout with 6:10 left in the first quarter, Russell was baited by Clippers point guard Patrick Beverley into picking up a technical foul.
Beverley kept nudging Russell as they ran down the court to position themselves right under the arc before the Nets guard elbowed him. Beverley walked over to the referee to complain. He then got under Russell's skin as soon as the ball was about to be thrown in before the official whistled Russell for throwing an elbow.
Clippers: Continue their three-game road trip at Atlanta on Monday night.
Nets: Visit the Miami Heat on Tuesday Night.