Mike Matheny wasn't happy with plate umpire Lance Barnett's strike zone.

The St. Louis Cardinals manager didn't much care for his team's at-bats, either.

"With chest-high curveballs, nothing good is going to happen but you'll pop it up," Matheny said after the Cardinals settled for one run for the second straight game in a 2-1 loss to the Pittsburgh Pirates on Friday night. "That wasn't the whole story."

Third base coach Jose Oquendo was ejected in the sixth inning for arguing a borderline outside strike on leadoff man Jon Jay.

Matheny said the strike zone was "significantly higher than we've had this season."

"He establishes the zone," Matheny added, "but that doesn't mean we have to like it."

The Cardinals lead the National League in hitting but have 10 hits in the last two games. That includes four infield hits Thursday when Kyle Lohse worked 6 2-3 innings and got no decision after Jason Motte gave up consecutive homers with one out in the ninth of a 2-1 loss to Arizona.

"Bottom line is there are no excuses," Jay said after going 0 for 3 with a walk. "We'll turn the page. Tomorrow is a big game."

Jake Westbrook (12-9) allowed one earned run and six hits in 7 2-3 innings against the Pirates, who scored on a wild pitch and a passed ball in the fourth.

"I kept us close. I gave us a chance to win," Westbrook said. "Whether you have your stuff or not or you feel good or not, you go about it and pitch to the circumstances of the game."

Westbrook noted he allowed one run too many.

"I put myself in that situation. It's nobody's fault but my own," he said. "I battled through and settled down a little bit, I just got outpitched.

James McDonald halted a string of ineffective starts with six innings of two-hit ball for the Pirates. Andrew McCutchen singled and scored on the passed ball in the fourth.

McDonald (11-5) was 0-2 in his previous four outings while allowing 20 earned runs over 21 1-3 innings. He coughed up a 7-1 lead in his last start when he allowed six runs in the fifth during a loss to the Padres.

McDonald retired the first 10 in order with the help of a double-play ball. Allen Craig doubled with two outs in the fourth for the Cardinals' first hit, but was erased trying to advance on a pitch McDonald bounced in front of the plate.

Joel Hanrahan worked around a one-out walk in the ninth for his NL-leading 34th save in 37 chances. Matt Holliday, just 4 for 45 in his last nine games, lined out to the right-field wall to start the inning.

The Pirates have won just three of nine, but they moved two games ahead of St. Louis for the NL's second wild-card spot. Pittsburgh won without second baseman Neil Walker, expected to miss the series after dislocating his right pinkie Wednesday.

Pittsburgh loaded the bases with a walk and singles by McCutchen and Garrett Jones to open the fourth, took the lead on Westbrook's wild pitch and made it 2-0 on a passed ball by Tony Cruz.

The Cardinals ended a string of 10 straight scoreless innings against Chris Resop in the seventh. Carlos Beltran opened with a bloop hit that ended a 2-for-20 slump and went to third on David Freese's double. Beltran scored on a one-out groundout by Cruz.

Freese also singled in the fifth for his second straight multihit game and 38th overall.

NOTES: Lohse has 19 quality starts with no decision in eight of them. It's the most by a Cardinals pitcher since it happened nine times to Bob Tewksbury in 1992. ... Lance Lynn (13-5, 3.65 ERA) opposes Pirates LHP Erik Bedard (7-12, 4.56) on Saturday. Lynn has allowed three first-inning runs in three of his last four outings. ... The Cardinals released Triple-A Memphis 1B Mark Hamilton prior to the game in a move to clear space on the 40-man roster for lefty Jaime Garcia, due to pitch Sunday for the first time since June 5 when he was sidelined by shoulder fatigue. ... McCutchen leads the NL with a .360 average and 361 total bases. He scored his 85th run after entering the game tied for the league lead.