Anthony Parker scored a team-high 21 points for the Raptors, who have won three straight for the first time since starting the season with three wins. Chris Bosh had 18 points and six rebounds, while Joey Graham contributed 15 points in the win.
Jamario Moon and Jason Kapono each scored 10 points for Toronto.
Vince Carter had a game-high 27 points to go with 10 rebounds for the Nets, who have lost seven of eight overall. Devin Harris provided 25 points and 10 assists, while Keyon Dooling went 5-of-8 from long distance in a 17-point effort.
Bobby Simmons had 16 points and Brook Lopez 14 for New Jersey.
Down 84-77 after three quarters, Harris drained a three for New Jersey to start the fourth, but Toronto scored the next six points, and a Graham layup made it 90-80 with 9:48 left.
Graham hit a couple free throws with just under five minutes left to give the Raptors a 102-90 advantage, but Dooling capped a 8-0 run with his fifth three of the game to pull the Nets to within four with three minutes left.
After Toronto went back up by six, Carter drained a three with just over a minute to play to make it 107-104. New Jersey made a defensive stop, and with a chance to tie, Harris drove for a layup with 37.8 seconds left to pull to within one.
Calderon missed a shot at the other end, and the Nets held for the final possession. Harris faked a drive, pulled back and shot a jumper, which found only iron, and the Raptors jumped on the loose ball and held on for the victory.
Carter led all players with 16 points -- including a 4-of-6 mark from long distance -- in the first quarter, and the Nets held a 29-21 edge heading to the second.
New Jersey was ahead, 54-50, at halftime.
The Raptors closed the third quarter on a 14-6 burst, and Graham's two free throws gave Toronto an 84-77 edge after three.