TORONTO -- DeMar DeRozan had 23 points and Jose Calderon added 17 assists Wednesday as the Toronto Raptors won their fourth straight for the first time in over two years with a 97-91 victory over the Detroit Pistons.

Emerging swingman Alan Anderson, who has 58 points over his last three games, finished with 16 points for the Raptors (8-19). The last time Toronto won four in a row was Nov. 17-24, 2010.

Greg Monroe had career-high 35 points and 10 rebounds for Detroit (7-21), which has dropped six in a row and is a paltry 2-13 on the road this season.

The Raptors came into the fourth quarter leading 73-71, but opened up a seven-point lead on a clutch three by Anderson and an Amir Johnson hook shot. Anderson had fans at Air Canada Centre roaring when he connected from downtown twice more midway through the quarter to make it 88-77.

Detroit clawed back to make a four-point game with under three minutes left, but Calderon hit a three of his own to get the lead back up to seven. Toronto ran down the clock with long possessions and timely rebounds to seal the win and put the Raptors over .500 at home this season (6-5).

Calderon kept the offence moving in the third, finding DeRozan and Ed Davis, who combined on 12 points to give Toronto a 63-60 lead midway through the quarter. DeRozan returned the favour and dished to the Spaniard for an open three, pushing the Raptors' lead to six points with four minutes left.

Monroe kept the Pistons in the game with 14 third-quarter points.

Toronto opened the second with a 27-23 edge but eased off defensively around the post as Detroit made a 6-0 run with three straight layups to pull ahead 35-34 five minutes in. But the Raptors bench responded, with guard Terrence Ross connecting from downtown and two mid-range jumpers before John Lucas III drained a jump shot to make it 43-41 with just over four minutes to play.

Pistons rookie Kyle Singler tipped in a rebound in the final seconds to tie the game 49-49 as DeRozan finished the half with a game-high 12 points on 5-of-8 shooting.

Jonas Valanciunas had a strong opening quarter with a dunk and a bank shot before stealing the ball from Monroe to set up DeRozan's triple to make it 19-18 Toronto at 3:53.

Valanciunas threw down another dunk a minute later and made both free throws in the final seconds to finish the quarter with eight points and two rebounds. The rookie centre finished the night with 12 points and five boards.

The Raptors shot 64.7 per cent in the opening frame, with Calderon serving up nine assists.

Toronto played without point guard Kyle Lowry (torn triceps) and power forward Andrea Bargnani (torn right elbow ligament). Lowry is expected back before Christmas, while Bargnani is out indefinitely.

Notes: Calderon came into the game averaging a team-high 16.3 points and 9.5 assists over the last four games. ... Toronto's Landry Fields (wrist) returned from injury on Tuesday for the first time since Nov. 7 at Dallas, but has yet to receive any minutes. ... Wednesday's game was the second of four meetings between the teams this season. The Pistons won 91-90 on Nov. 23. ... Toronto's next game is Friday at home against the Orlando Magic. ... Attendance was 17,062.