Pierria Henry scored 17 points to lead Charlotte to a 71-67 win over No. 11 Butler on Wednesday night.
Chris Braswell and Willie Clayton each had 11 points for the 49ers, who ended a two-game skid.
Rotnei Clarke scored 18 and Roosevelt Jones had 17 points and nine rebounds to lead the Bulldogs (20-5, 7-3 Atlantic 10), who hadn't lost at home in 12 games.
The 49ers (18-6, 6-4) went on a 7-1 run late in the game. Braswell started the spurt before Darion Clark and Henry each scored to give the 49ers a 59-49 lead.
Jones hit one of two from the line and then Clark made a free throw for Charlotte to make it 60-50.
Butler played without Andrew Smith, who was out with an abdominal injury sustained in a 59-56 victory over George Washington on Saturday.
After the 49ers built a 10-point lead, the Bulldogs went on an 8-2 run.
Clarke hit a 3-pointer and the 49ers missed a shot. Kellen Dunham made two free throws to make it 60-55 with 2:20 left.
E. Victor Nickerson hit a jumper and then Clarke made a 3-pointer to make it 62-58 with 1:31 left.
Clarke hit a 3 with 22.6 seconds left to make it 66-61 and then Denzel Ingram made one of two from the line.
Clarke was fouled on a 3-point attempt and hit all three free throws to make it 67-64, but Henry made one of two from the line.
Clarke hit a deep 3-pointer with 7 seconds left to pull Butler to 68-67. Henry made one of two from the line and the Bulldogs turned the ball over on an inbounds pass.
Butler shot 39 percent and turned the ball over 11 times.
The Bulldogs turned the ball over right away to start the second half and Ingram scored to give the 49ers a 31-27 lead.
Butler's Erik Fromm, who made his first start of the season, scored on a putback and then Henry was fouled on a shot and converted the three-point play to give the 49ers a 34-29 lead.
Jones scored for Butler and Clayton for Charlotte before Fromm hit a 3 to make it 36-34.
Clayton scored again and Fromm hit another 3-pointer to make it 38-37 with 16:20 left.
But Henry answered with a 3-pointer of his own to give the 49ers a 41-37 lead
Clark scored for the 49ers and Dunham hit a 3-pointer to make it 43-40.
Later, Braswell made two free throws to give the 49ers a five-point lead. Then the 49ers went on a 7-2 run.
Fromm hit a 3-pointer to make it 51-47, but Nickerson made two free throws to extend the lead again.