Updated

The Los Angeles Angels were confident about extending their winning streak to eight games, which would have matched their longest of the season. Jerome Williams didn't give them much of a chance.

Williams was charged with seven runs, four hits and four walks in just 1 2-3 innings of a 12-2 loss to the St. Louis Cardinals on Wednesday night. The right-hander had not given up more than three bases on balls in any of his previous 17 starts.

"I think Jerome had a good idea of what he wanted to do going into the game, but I think he tried to get a little bit too fine," manager Mike Scioscia said. "They've got some guys over there that are swinging the bat well. In the second inning, I don't know if it was a situation where he really felt comfortable putting the ball in some areas and he tried to get a little too fine, especially early in the count and he got behind some guys."

Jon Jay had three RBIs, including a two-run homer off center fielder Mike Trout's glove during St. Louis' seven-run second inning. Matt Carpenter, batting leadoff in front of Jay, also homered and drove in three runs to help keep the Cardinals two games behind Pittsburgh in the NL Central.

One night after the Angels scored all of their runs in the second inning of a series-opening 5-1 victory, the Cardinals sent 12 men to the plate in the second after Williams had set them down 1-2-3 in the first.

"In the first inning he looked sharp, had good velocity and really good action on his sinker," Scioscia said. "At the start of the second inning he looked a little bit tentative, and the walks obviously compounded that inning. He just couldn't minimize the damage and the inning got away from him."

The seven-run rally included a two-run double by David Descalso, and a two-run homer by Jay that Trout had in his glove for an instant before it popped out as his arm made contact with the top of the fence.

Yadier Molina, who raised his NL-leading average to .352 after going 3 for 4 with a walk, greeted Garrett Richards with an RBI single that delivered the seventh run.

After Hank Conger's two-run homer in the bottom half, David Freese scored an unearned run in the Cardinals' third when Richards mishandled a throw from first baseman Mark Trumbo on Carpenter's two-out grounder behind the bag.

St. Louis increased the margin to 10-2 in the fifth on a run-scoring, ground-rule double by Carpenter and an RBI single by Jay, who had driven in only one run in his previous 35 at-bats coming in. It was only his second game this season with three or more RBIs, the other on May 4 when he had four at Milwaukee.

Carpenter ended the scoring in the eighth with his eighth homer, a solo shot off Billy Buckner.

"After winning that many in a row, you almost always think you're due for a butt-kicking," Angels right fielder Josh Hamilton said. "You'd rather lose one like this than a really close one, but you've got to put it behind you."

The Cardinals scored one more run than the Angels had allowed in their previous six games combined.

"Matt Carpenter sets the tone for us, and he had a terrific game," manager Mike Matheny said. "He put together good at-bats and he doesn't give any away. It was also nice to see John Jay have some real nice at-bats. We need to get him going, and today was a real good indicator that he's on the right path. He's been making some adjustments that are allowing him to have good at-bats, and it worked out for him today."

Shelby Miller (9-6) struck out six over six innings and allowed five hits. The right-hander was coming off back-to-back losses against two other AL West clubs, including a 6-1 defeat last Friday at Oakland in which he lasted only 1 2-3 innings and gave up five runs.

"I wouldn't say I was any fresher tonight," Miller said. "I mean, I threw 51 pitches in the second inning at Oakland and that's going to wear your arm down moreso than going eight innings and throwing 100 pitches. But I felt strong, so I basically wanted to try to go deep in the ballgame."

NOTES: Matheny caught Williams when they were teammates in San Francisco during the 2005 season. ... The Angels have committed 61 errors, the second-most in the AL. The Cardinals have made 34, the fewest in the NL. ... Howie Kendrick's 102 hits are the most by an Angels second baseman before the All-Star break. ... St. Louis LF Matt Holliday didn't play for the second straight night because of a pinched nerve in his neck. ... Cardinals ace Adam Wainwright was named the NL pitcher of the month for June after going 4-2 with a 1.77 ERA in six starts, including complete-game 7-1 victories over San Francisco and Oakland. ... Molina was back in the fifth spot in the batting order, after hitting in the two hole the previous six games and going 7 for 25 with a homer and three RBIs. ... Cardinals LF Allen Craig drew three walks in the first four innings, matching the total he had in 116 plate appearances over his previous 28 games. He has 18 this season in 338 plate appearances.