"We can't depend on the other teams to keep losing," Cardinals pitcher Kyle Lohse (14-3) said. "We have to take care of our own business. We have a big series coming up."
But the Cardinals need to find answers in a hurry. They have lost eight of their last nine road games and are in the midst of playing 13 of 16 away from home.
"We're going through a rough stretch, but at the same time, we're still in the hunt," said rightfielder Matt Carpenter, who homered but hurt his club with a key error. Carpenter's misplay on Cameron Maybin's double in the fifth allowed an unearned run to score.
Last season, St. Louis went 23-9 down the stretch to capture the wild-card slot. But this team has played the complete opposite in the final weeks.
"Overall, it doesn't matter [how hard the team plays] because it all comes down to whether you win," Cardinals manager Mike Matheny said. "They are still aware of the sense of urgency."
Logan Forsythe hit a solo home run for the Padres, who completed a three-game sweep of St. Louis for the first time since August 1995.
In other games: *
At Phoenix, Justin Upton had two RBI and Trevor Cahill (11-11) had seven strikeouts over seven innings to lead the Arizona Diamondbacks to a 3-2 win over the Los Angeles Dodgers.
* At Cincinnati, Homer Bailey (11-9) pitched seven solid innings and the Reds came up with just enough offense to squeeze out a 2-1 win over Pittsburgh for a three-game sweep of the Pirates.
* At New York, John Lannan (3-0) pitched 5 2/3 shutout innings in his first start since replacing Stephen Strasburg in Washington's starting rotation, and the Nationals lowered their magic number for clinching a playoff berth to six with a 2-0 win over the punchless Mets.
* At Houston, Alfonso Soriano finished a triple shy of the cycle and drove in two runs and Travis Wood (6-11) allowed one run in 7 2/3 innings to lead the Chicago Cubs to a 5-1 win over the Astros.
* At Milwaukee, Rickie Weeks hit a three-run homer and Yovani Gallardo (15-8) struck out six in seven innings as the Brewers completed a three-game sweep of the Atlanta Braves, 6-2.
* At Denver, Brandon Crawford hit a two-run double and Hunter Pence had a run-scoring triple to help lead the San Francisco Giants to an 8-3 win over the Colorado Rockies.