"That was a heck of an effort by Amir Johnson," Raptors coach Dwane Casey said. "I can't sing his praises enough."
Toronto drew to within 7 1/2 games of Milwaukee for the final playoff spot in the East after the Bucks lost at home to Miami, the Heat's 21st straight win. The Raptors host Miami on Sunday.
Joey Dorsey was the last Toronto player to record 20 rebounds, doing it April 11, 2011, at Milwaukee.
Johnson, who matched his previous best with 16 rebounds in Sunday's win over Cleveland, said the victory was more important than his final total.
"Career highs is one thing, but getting wins is what I really want," he said. "We're just going to keep playing hard and get as many games as we can."
Johnson came in averaging a career-best 7.3 rebounds per game this season, almost a full rebound better than the 6.4 he had in each of the previous two seasons.
"Every rebound was his," Gay said. "Today, he was on another level. That's what we need out of him and that's what we expect out of him."
Johnson's double-double was his team-leading 13th of the season.
"He does a great job of using his hands," Charlotte forward Josh McRoberts said. "He's very physical, but very crafty with his hands, either holding or pushing. I'm not complaining about that, I'm saying I respect that. He's figured out a way to become a great rebounder."
Toronto won for the second time this season when making at least 20 turnovers. Casey attributed the sloppiness to the "malaise" of late season.
"If we have 20 turnovers on Sunday, then it will be 40 points (for Miami)," he said.
Gerald Henderson, coming off a career-best 35-point performance in the Bobcats' 100-74 victory over Boston on Tuesday, scored 22 points. Kemba Walker added 20, and Ben Gordon and McRoberts each had 10 for Charlotte, which has won just one of 11 and four of its past 26.
The Bobcats made just 1-of-13 field-goal attempts in the fourth, and were outscored 23-10.
"They did a good job of keeping us out of the paint," Charlotte coach Mike Dunlap said. "You're not going to win in the NBA when you score 10 points in the fourth."
Henderson opened the final quarter with a pair of free throws, putting the Bobcats up 70-69, but Toronto reclaimed the lead by scoring the next six points. Charlotte's Jeff Taylor made two from the line with 7:52 left, before a 3-pointer by Terrence Ross and a slam dunk by Gay made it 80-72, forcing the Bobcats to call timeout.
"We just couldn't come up with the plays," Henderson said. "You have to give credit to their defense. We weren't getting to the rim. We settled for jump shots and they weren't falling."
After a missed shot by Gordon, Gay made a step-back jumper to give the Raptors a 10-point lead. Charlotte rookie Michael Kidd-Gilchrist missed a pair of free throws and Ross hit a running bank shot, pushing the lead to 12 and putting the Raptors in control.
Walker scored 11 points in the first, but Gay had 11 for the Raptors, who led 22-17 after one. It was the 13th time this season Toronto has held its opponent below 20 points in the first.
Telfair scored eight in the second, and his pull-up jumper at 6:58 gave the Raptors a 38-25 lead. Gordon scored eight to help Charlotte close the gap to 48-42 at the half.
Gay and Valanciunas each scored four as the Raptors opened the third on a 10-2 run, but the Bobcats answered with a 10-2 run of their own, forcing Toronto to call time with 7:08 left. Henderson scored 11 in the third and Gordon tied it at 68-all on a jumper with 3 seconds left, but a free throw by Telfair gave the Raptors a one-point edge heading into the fourth.
The Bobcats are 6-27 on the road. Charlotte's 27 road losses are the most of any Eastern Conference team. Sacramento has an NBA-worst 28 road defeats. ... Walker scored 20 points or more for the 25th time this season. ... Johnson recorded the 50th 10-rebound game of his Raptors career, making him the fifth player in franchise history to reach the mark. Chris Bosh (245 games), Antonio Davis (137), Charles Oakley (62) and Donyell Marshall (52) are the others. ... The Raptors have lost their past 10 meetings with the Heat.