"I'm staying ready every day," Snell said. "I make sure I'm staying ready at all times."
Snell, who was back in the rotation because Doug McDermott was a late scratch with a sore right knee, had 19 points in the final 17 1/2 minutes -- including 16 in the fourth quarter -- to spark the Bulls.
If not for McDermott's injury, Snell, who has started 21 games this season, might not have played at all -- just like in two of the previous three games.
"I didn't know he wasn't going to play; I had no idea," Snell said of McDermott. "I just make sure to stay ready at all times."
Jonas Valanciunas had nine points in 20 minutes off the bench after missing 17 games with a broken left hand.
"He's getting his sea legs back, getting the rust off," Raptors coach Dwane Casey said. "He's going to be OK. Jonas is the least of our worries, getting him back in."
Toronto actually got off to a fast start and held the lead for much of the first three quarters.
Luis Scola, who finished with 13 points, had 12 points on 6 of 6 shooting to lead Toronto to a 32-23 lead at the end of the first quarter.
The Bulls rallied in the second behind Brooks and Portis. The two reserves combined to score Chicago's first 19 points of the quarter as the Bulls took a 42-40 lead.
They led by 49-46 before the Raptors scored the last six points of the first half for a 52-49 advantage.
Toronto maintained the lead for most of the third before the Bulls scored the final eight points of the quarter for a 78-73 lead.
"We've got to have some support from our second unit," Casey said.
The Bulls then continued the surge, opening the final quarter with a 13-5 run for a 91-78 lead with just under six minutes to play. Snell had seven points during the run, while Portis added four.
"I'm really happy for Tony," Bulls coach Fred Hoiberg said. "I'm really proud of Tony for staying in there. He's one of those kids that's easy to coach."
Raptors: Valanciunas had been sidelined since the second half of a game against the Los Angeles Lakers on Nov. 20. He still leads the team with five double-doubles . They entered the game leading the NBA with a plus-88 scoring differential in the fourth quarter.
Bulls: C Joakim Noah (left shoulder sprain) did some on court work before the game, but still isn't close to being ready to return. "He's feeling better," Hoiberg said. "He'll get reevaluated, I think, a week from today. He still has soreness and, obviously, he's not doing any contact right now. We'll know more next week."
BEAT THE BEST
The win over Toronto (19-13) continues the Bulls' trend of being at their best against the NBA's best. They've also beaten Cleveland, Oklahoma City (twice), Indiana, and San Antonio, while losing to Brooklyn, New York and Phoenix.
"It's all about effort and energy," Rose said. "We have that when we play the best teams and sometimes we don't against the lesser teams."
Raptors: host the Washington Wizards on Wednesday.
Bulls: host the Indiana Pacers on Wednesday.
New York Knicks outlast Boston Celtics in wild, albeit sloppy, double-overtime opener
After a pair of frenetic overtimes, the Knicks outlasted the Celtics 138-134 to win their season opener at Madison Square Garden on Wednesday night.
Barnes has 36 and the Kings spoil Portland's opener 124-121
— Harrison Barnes scored 36 points and De'Aaron Fox added 27, and the Sacramento Kings spoiled Portland's season opener under new coach Chauncey Billups with a 124-121 victory over the Trail Blazers on Wednesday night.
Lillard and Blazers fall short in comeback vs. Kings
The Kings go on the road and beat the Blazers despite Damian Lillard and CJ McCollum's efforts to force overtime.