The second time was an entirely different story, and he didn't make it a third time through.
Weaver (3-2) retired the first 11 batters of the game before Holliday ended the streak with his first homer. Eight of the next nine Cardinals reached base, capped by a two-run homer from Holliday to end Weaver's night in the fifth.
"It took us a minute to get used to his decreased velocity compared to what we're used to," Holliday said. "It's really just more with your eyes and a timing thing. Once you see it, the next time your mind and body is much more in sync."
Adam Wainwright (3-3) got the win despite allowing 11 hits and seven runs, six earned, in five innings.
Weaver gave up nine hits and eight runs allowed in four-plus innings for the Angels, who have lost six straight and 10 of their last 12.
"That's the type of offense I believe we are," Cardinals manager Mike Matheny said. "Great production up and down, everybody. The guys just kept coming and obviously we needed every one of them."
The Angels offense gave Weaver a 2-0 lead in the third and 5-3 lead in the fourth, but the Cardinals battled back each time.
Carpenter launched a three-run homer down the right field line in the fifth to make it 6-5 and put St. Louis up for good. Holliday followed two batters later with a two-run drive to center to chase Weaver from the game.
Adams gave the Cardinals some breathing room with a two-run single in the sixth after the Angels had crawled back within a run and delivered another RBI single in the ninth.
The Angels, down 12-7 entering the ninth, didn't go quietly. Kole Calhoun's RBI single and a two-run homer by Albert Pujols cut their deficit to 12-10, and Cardinals closer Trevor Rosenthal promptly walked the bases loaded upon entering. But Kevin Siegrist came in and struck out Carlos Perez and got Shane Robinson to pop out to end the threat and record his first save.
"The fact we came back from the brink I think says a lot about the heart in the club right there," Angels manager Mike Scioscia said. "You can tell a lot about people by how they react when things aren't going the right way, and a lot of things aren't going the right way for us, but the guys are getting in there and busting it and getting after it."
Cardinals: SS Jhonny Peralta (torn thumb ligament) has advanced to hitting in the cage and taking grounders. He is expected to participate in full batting practice next week.
Angels: 3B Yunel Escobar jammed his thumb diving for a ball in the eighth inning and is day-to-day. ... Cliff Pennington left in the fifth inning with a left hamstring cramp and is also day-to-day. ... LHP C.J. Wilson (shoulder inflammation) threw his third bullpen session in five days. He will pitch a simulated game Monday. ... RHP Huston Street (strained oblique) played catch for the third straight day and has a bullpen session targeted for next week.
A white and tan cat interrupted play in the fourth inning when it emerged from the visitors' dugout and sprinted across the field, angling toward third base before jumping into the stands along the home dugout on the third base line.
It then sprinted across three fan sections back toward the plate before being corralled by a fan as it tried to leap over the railing dividing one section from another.
It was the second straight day a cat made an appearance at Angel Stadium. Before Wednesday's game, a black cat was spotted running around the stands behind home plate prior to batting practice.
Angels: RHP Nick Tropeano (1-2, 3.69) opens up a three-game series at Seattle. He has won his two previous career starts at Safeco Field.
Minnesota's Cruz puts 10-game hit streak on the line against Athletics
Minnesota Twins (6-8, fourth in the AL Central) vs. Oakland Athletics (9-7, third in the AL West)
Plesac scheduled to start for Cleveland against Chicago
Chicago White Sox (8-9, third in the AL Central) vs. Cleveland Indians (8-7, second in the AL Central)
Padres host the Brewers after Musgrove's strong showing
Milwaukee Brewers (9-7, second in the NL Central) vs. San Diego Padres (10-8, third in the NL West)
Castillo expected to start as Cincinnati hosts Arizona
Arizona Diamondbacks (6-10, fourth in the NL West) vs. Cincinnati Reds (9-6, first in the NL Central)
Rodriguez expected to start for the Red Sox against the Blue Jays
Toronto Blue Jays (7-9, fourth in the AL East) vs. Boston Red Sox (11-6, first in the AL East)
Philadelphia's Segura puts 10-game hit streak on the line against Giants
San Francisco Giants (10-6, second in the NL West) vs. Philadelphia Phillies (8-8, second in the NL East)