ST. LOUIS -- The only player Claudio Vargas seemed to have trouble with was the opposing pitcher.
Vargas gave up two hits and an RBI to Jason Marquis but not much else in six innings, Luis Gonzalez homered twice, and the Arizona Diamondbacks beat the St. Louis Cardinals 9-2 on Thursday night to avoid a three-game sweep.
"He's been a gem," Gonzalez said after Vargas won his third straight start. "I'll tell you what: We wouldn't be where we're at, at least in our black and blue division, without the way he's been pitching."
Marquis had an infield hit off Vargas' hand and an RBI double his first two at-bats, giving him six straight hits -- two of them as a pinch hitter -- before flying out in the seventh. Marquis leads all pitchers with 25 hits, four more than the rest of the St. Louis rotation, and a .373 average.
"I take pride in what I do and hitting is part of that," Marquis said. "I work hard on it every day and it's something that possibly can help you win ballgames.
"It's something also that I love to do."
Troy Glaus had three hits and an RBI and Royce Clayton had a two-run double for the Diamondbacks, who ended a four-game losing streak in which they were outscored 35-15.
The Diamondbacks beat the Cardinals for only the third time in 15 attempts over three seasons. Despite a 57-65 record, Arizona remained three games out of first place in the NL West.
Gonzalez has 19 homers, including three in the series, and this was his third multihomer game of the year.
The Cardinals lost the series finale despite the return of catcher Yadier Molina, who had been sidelined with a broken left hand since getting hit by a pitch by Vargas on July 7 at Arizona. Molina's return still left the Cardinals, who have the major leagues' best record at 76-45, without three regulars and with All-Star third baseman Scott Rolen mulling season-ending shoulder surgery.
Vargas (7-6) allowed two runs and five hits with five strikeouts and two walks. The Cardinals were 1-for-9 with runners in scoring position against him.
"I go out every five days, and I think I'm the best and we're going to win every time I go out," Vargas said. "If we push a little bit more, I think we're going to be in first place in like a couple more days."
In 7 2/3 innings, Marquis (9-12) benefited from four double plays but was charged with six runs and 10 hits. Manager Tony La Russa brought back Molina perhaps a day early to work with Marquis, but the right-hander has lost six straight decisions and fell to 1-9 with a 5.57 ERA in his last 12 starts.
"I've learned to look past that now," Marquis said. "I was in a funk with that probably about five or six starts ago, but it's behind me.
"I felt like I threw a pretty good game and hopefully I can carry this stuff over to my next game."
Clayton's two-run double in the second put the Diamondbacks ahead for the first time in the series. Gonzalez's 18th homer made it 3-0 in the third.
Abraham Nunez scored from second on a wild pitch and Marquis' RBI double cut the gap to 3-2 in the fourth.
Kelly Stinnett and Craig Counsell had two-run singles, and Glaus had an RBI single in a five-run eighth as the Diamondbacks pulled away against Marquis and relievers Julian Tavarez and Ray King.