The Angels announced Weaver suffered a lower-back injury.
They later said they will wait until Weaver undergoes an MRI and X-rays Tuesday before deciding whether they will put him on the 15-day disabled list, but the All-Star right-hander said he was still in considerable pain nearly four hours after leaving the game, even after team doctors administered muscle relaxers.
"I've never felt anything like that before. It felt like somebody stabbed me in the back," Weaver said. "I couldn't really do much about it. It's very disappointing. You get motivated for games like this."
Weaver made a 1-0 pitch to Robinson Cano and bent over in apparent pain.
He attempted to complete a warm-up pitch but could barely get the ball to home plate. He limped off the field, accompanied by manager Mike Scioscia.
"We're going to look at a couple of things and see what we need to do," said Scioscia, who exhausted most of his bullpen as the Angels hung on to beat the Yankees 9-8 for their seventh straight win. "He's stiff now, but we'll have the exams tomorrow and make a decision."
Weaver stood awkwardly in front of his locker after the game.
"I can't really bend over too much," he said. "I tried to throw that second pitch, but there was no way. The way the team is playing right now, I'm one of the guys that wants to be out there."
Weaver (6-1) was making his first appearance at Angel Stadium since his May 2 no-hitter against the Minnesota Twins. He is 4-0 with an 0.83 ERA at home this season.
New York's first three hitters all reached base against Weaver, two on hits and the other on Erick Aybar's error.
Weaver began the night 6-1 with a 2.61 ERA, second in the AL in victories. Any extended absence could be disastrous for the Angels, whose touted starting rotation hasn't been impressive beyond Weaver's steady play.
Weaver went 18-8 with a 2.41 ERA last season, making his second All-Star team and finishing second in the AL Cy Young Award voting after leading the majors with 233 strikeouts in 2010. He has been every bit as good this year, giving up just three runs and six hits in 15 innings during his two previous starts before facing the Yankees.
After Weaver left, reliever Bobby Cassevah struck out Cano but walked Mark Teixeira and allowed Raul Ibanez's sacrifice fly. Rodriguez scored another Yankees run when Cassevah made a poor throw to first base, allowing Nick Swisher to reach.
Cassevah retired Russell Martin on a bases-loaded flyout to end the inning with the Angels down 3-0.
The Angels were returning from a 10-game road trip on a six-game winning streak, while the Yankees had won five in a row.
Information from The Associated Press was used in this report.