Phoenix, which rallied from a 14-point deficit in the third quarter, pulled to within one-half game of idle Houston in the battle for the eighth and final Western Conference playoff spot.
The Suns held the Raptors without a basket in overtime (0-of-8).
"We had a gut check and we followed through with it and came up with a good win," Marion said. "We needed that win right there tonight."
Struggling against lesser teams is nothing new for the Suns, who improved to 13-15 against clubs below .500.
"We have a better winning percentage against .500 teams or better than against teams under .500," said Phoenix Coach Frank Johnson. "I thought we fell victim again, but we found a way, pulled it out and hit some big shots."
Marbury scored 25 points and Penny Hardaway added 18 for the Suns, who shot 43 percent from the field (35-of-82). They trailed, 48-41, at intermission.
Phoenix took the lead for good when a jumper by Stephon Marbury snapped an 89-89 tie with 3:25 left. Marion added a three-pointer for a 94-89 cushion with 87 seconds remaining.
The Raptors tied it, 87-87, with 6.3 seconds left in regulation on a bucket by Voshon Lenard, but Toronto played the overtime without Vince Carter, who fouled out with 1:40 to go in the fourth quarter.
Morris Peterson scored 17 points for the Raptors, who suffered their sixth straight loss, and completed an 0-5 road trip.
Carter scored 15 points for the Raptors, but missed his only shot in the fourth quarter.