The Timberwolves rallied from a 19-point deficit late in the first half and held a three-point lead heading into the final minute.
Diaw tried a jumper that would have given Charlotte the lead and although it failed to go, Mohammed was there to grab the rebound and score the winning basket. Wayne Ellington missed a 3-point attempt for Minnesota at the buzzer.
Charlotte won its second straight after dropping three in a row. The Bobcats were led by Stephen Jackson with 33 points and Mohammed with 21.
Al Jefferson had 19 to pace the Timberwolves, who have lost two consecutive contests following a four-game winning streak.