Allen Craig has been a pitcher's nightmare of late.
The NL Central leaders have been bolstered by an offense that has batted .289 with 31 doubles in the previous 12 games.
No one has been hotter for St. Louis (60-37) than Craig, who is batting .424 since June 29. All four of his plate appearances were productive on Tuesday - he had an RBI fielder's choice, a double, a walk and an RBI single in St. Louis' 4-1 victory over Philadelphia.
"I put the ball in play, had a couple of good at bats, and was able to get the job done," Craig said.
Craig is hitting a major league-best .490 (47 for 96) with runners in scoring position.
"He's done some impressive things, he's definitely for real,'' St. Louis manager Mike Matheny said. "People are starting to notice.''
He's had two eight-game and one nine-game hitting streaks since June 18 to raise his batting average from .309 to .335.
Craig will look to hit in his ninth straight game against a pitcher who has been equally hot in Philadelphia's John Lannan. Lannan (2-3, 3.76 ERA) has lasted eight innings in two straight starts, posting a 0.56 ERA in that stretch.
On July 13, the left-hander yielded one run and four hits in eight innings of a 2-1 victory over the Chicago White Sox.
Lannan hasn't faced the Cardinals since 2011, but he has fared well against them. The left-hander has held the Cardinals to two runs or fewer in all seven starts against them.
The Phillies (49-51), who have scored just five runs during their three-game losing streak, are 1 for 19 with runners in scoring position during their slump. They have 10 home runs in 13 games since slugger Ryan Howard went on the disabled list with left knee inflammation.
Domonic Brown, who went 0 for 4 on Tuesday and is 5 for his last 31 (.161), is out for this game while being evaluated for concussion-like symptoms. John Mayberry, who had just seven July at-bats through July 12, is batting .219 this month, though he had an RBI double to account for the lone run Tuesday.
That's the type of weak lineup Jake Westbrook (6-4, 2.88) has feasted on. Eleven of the right-hander's 13 starts have come against teams in the lower half of the league in runs scored. Since allowing a season-worst six runs and 10 hits at Oakland, he has posted a 2.66 ERA against the Miami Marlins, the Chicago Cubs and the San Diego Padres.
On Friday, he continued the trend, holding the Padres to two runs in 6 1-3 innings of a 9-6 win.
He also went 3 for 3 at the plate with a double.
"I had a lot of fun out there," said Westbrook, who entered the game 2 for 20, to the team's official site. "It was the first time I had run the bases that much since high school."
"They take their at-bats seriously," Matheny said. "They put a lot of pride in them. It's frustrating to them. They don't get enough repetitions to consistently be able to do what they want to do."
The Phillies could be a tougher challenge for Westbrook - on the mound, that is. Jimmy Rollins (.444), Michael Young (.379), Laynce Nix (.364) and Chase Utley (.364) have all had success against the right-hander.
Utley, who had three hits on Tuesday, is batting .400 over his six-game hitting streak.