Lonnie Chisenhall hit a two-run homer during Cleveland's four-run fourth, and McAllister pitched into the seventh inning of the Indians' 5-2 victory over Weaver and the slumping Los Angeles Angels on Monday night.
Nick Swisher homered and threw out a runner at the plate for the Indians, who won for just the fifth time in 14 games to regain ground in the AL Central.
The Indians (67-58) trail first-place Detroit by 6 1/2 games and sit 4 1/2 games out of the second wild-card spot.
Their confidence might have been shaken by their recent struggles, but it's far from broken.
"We just have to grind and battle, and hopefully this will snowball into something great for us at the end of the season," Swisher said. "This thing ain't over, no doubt about it."
McAllister (6-7) gave up five hits while striking out five, earning his second straight victory after a six-start winless stretch.
The 6-foot-6 right-hander was sharp in the opening game of the Indians' only series at the Big A this season, combining with three relievers to hold the Angels to six hits.
"You know you've got to keep it close to have a chance against a pitcher like (Weaver)," McAllister said. "Having that big inning was huge, and we were able to take it from there."
Before Mark Trumbo's ninth-inning homer, Los Angeles managed to get just three runners in scoring position -- all in the fourth inning. McAllister went nearly 11 weeks between victories before last week's win at Minnesota.
Weaver (7-7) allowed eight hits and four runs over six innings in his second straight loss for the Angels. Los Angeles' longtime ace got into serious trouble only in the fourth, but the Indians didn't need any more.
"Things just got away from me a little bit," Weaver said. "I was feeling good all night, and my location was good, but I just had one blowup inning and it ended up being the difference in the game."
Jason Kipnis led off the fourth with a walk, stole second and scored on Carlos Santana's single. After Jason Giambi's sacrifice fly, Chisenhall ended an 0-for-12 skid by putting his seventh homer of the season into the elevated stands in right field.
"I thought tonight was the best game of baseball we've played in a while," Cleveland manager Terry Francona said. "Weaver's velocity isn't what it was, but he still knows how to pitch. Just really a veteran pitcher that knows what he's doing. We put together one good inning, but we kept after him, made him work hard."
Los Angeles responded to Cleveland's rally with a run on Trumbo's single later in the fourth, but Swisher threw out Trumbo at the plate on Chris Nelson's fly to medium right field.
Angels manager Mike Scioscia argued catcher Yan Gomes didn't tag Trumbo, but replays were unclear.
Swisher, who had two hits, connected off Kevin Jepsen in the ninth for his 14th homer.
Trumbo drove in both runs for the Angels, who have lost 11 of 15.
Los Angeles is shutting down the $240 million slugger, who partially tore the plantar fascia in his left foot last month.
"You try not to chalk it up to any kind of excuses," Trumbo said. "(Injuries aren't) really an excuse, but it's definitely a lot more easy to come to terms with, when you think about how many quality players have missed a significant amount of time."
Trumbo hit his 29th homer off Indians closer Chris Perez, connecting in his third straight game for the fifth time in his career.
Trout was held out of the Angels' starting lineup after he felt tightness in his right hamstring while running out a double in Sunday's loss to Houston.
The All-Star outfielder has reached base in 40 consecutive games, the longest active streak in the majors and the second-longest in team history.
Peter Bourjos started in Trout's absence, but the speedy outfielder went hitless and dropped to 0-for-12 since returning from a lengthy absence with a broken right wrist.
Rookie RHP Danny Salazar had been expected to start Monday's game for the Indians, but Francona decided a few days ago to give Salazar an extra day of rest. Francona simply forgot to tell people about his decision, he said. ... Salazar will make his fourth career start Tuesday against Los Angeles' C.J. Wilson. ... Angels 2B Howie Kendrick is working out aggressively to return from his left knee injury, but Scioscia didn't sound certain Kendrick will return from the disabled list Wednesday. "He still has some things he has to work through," Scioscia said.