ST. LOUIS -- Colin Moran wanted to hit the ball hard, and in the air, with two on in the ninth inning of a tied game. He didn't, but it turned out well anyway.
"My plan was hit the ball in the air or something hard," Moran said. "It wasn't my plan to hit a ground ball. It worked out. I just wanted to get the runner in at all costs."
Carlos Martinez (2-1) worked one inning of relief and took the loss.
With the score tied 1-1 and one out in the top of the ninth, Starling Marte reached base when he was hit in the back with a pitch by Martinez. Josh Bell beat the shift with a single to the left side of second base, sending Marte to third. Moran hit a sharp grounder to Kolten Wong, who made a diving stop and rose to one knee, but his throw was not in time as Moran slid safely into first and Marte scored for a 2-1 lead.
"I don't know if I've ever slid into first before," Moran said. "It was out of desperation. I'm pretty slow. I hit it pretty decent. He's really good over there."
"We got the win. That's as good as it gets," said Newman, who drove in two runs. "Martinez is really good. We were able to scratch out a win."
The win snapped a four-game losing streak for the Pirates. St. Louis had a three-game winning streak stopped.
"It was a good game for our team," Pittsburgh manager Clint Hurdle said. "We played like we try to play every game."
St. Louis starter Jack Flaherty pitched seven strong innings, but did not get a decision. He allowed one run and three hits, striking out eight and walking three, including one intentional. Flaherty's last victory came on May 14. Since then, Flaherty has three losses and seven no-decision outings.
Dexter Fowler led off the seventh with a double that hit the top of the fence in left. He pulled up well before second, thinking it was a home run. Marte bobbled the ball and Fowler waltzed into third.
"Yeah, it should've at least been a triple," Fowler said. "Definitely not a double."
After Wong walked, Rodriguez relieved and pitched out the jam, getting a fielder's choice, a fly out in foul territory near first base, and a ground out.
"He's been on a roll," Hurdle said of Rodriguez. "He's got a lot of confidence on the mound. It wasn't a prime time to bring in anybody there. It's hard work. He stayed on the attack and kept us in the game."
Not scoring there was huge, St. Louis manager Mike Shildt said.
"That's clearly frustrating. You've got first and third, nobody out and you can't get a ball out of the infield," Shildt said. "Obviously, guys are giving the effort but we've got to execute there. It's a game of execution and the last three innings more or less we didn't execute as well as they did. That was the ballgame."
Flaherty helped himself in the fifth by driving in a run to tie it at 1-all. With one out, a short fly by Harrison Bader fell in and he hustled for a double. After Bader stole third, Flaherty doubled down the third-base line. It was his third double and third RBI this season.
Flaherty then tried to steal third. He was called safe, but Pittsburgh challenged. The call was overturned after a review.
After going hitless the first four innings, the Pirates broke through in the fifth. Corey Dickerson doubled with one out and scored on a single to right field by Newman.
THOU SHALL NOT STEAL
Cardinals catcher Matt Wieters cut down two would-be Pittsburgh stealers. In the fourth, Marte was caught trying to steal second. In the fifth, Newman attempted to steal second as Elias Diaz struck out. He was called safe but the Cardinals challenged. The call was overturned.
The Cardinals announced a crowd of 43,777 to push the club past the 2 million mark in attendance for the season. The other two teams in baseball to eclipse the 2 million mark are the New York Yankees and the Los Angeles Dodgers.
Pirates: RHP Keone Kela (right shoulder inflammation) allowed two runs in one-third inning of relief in his second appearance of his rehab assignment Monday with Triple-A Indianapolis.
Cardinals: INF Matt Carpenter (right foot contusion) went on the 10-day Injured List. "You don't want to be injured ever and to do it after just coming back from the All-Star break, feeling like you're ready to have a strong second half-both individually and for the group," Carpenter said. "It's pretty frustrating." St. Louis recalled rookie infielder Edmundo Sosa, 23, from Triple-A Memphis.
Pirates: RHP Chris Archer (3-6, 5.42) had a season-high 10 strikeouts but didn't get a decision in his last start, a 4-3 loss to the Cubs. He has three career starts and is 0-0 with a 2.20 ERA against St. Louis.
Cardinals: RHP Daniel Ponce de Leon (1-0, 1.99) is making his second career start against the Pirates. In his last outing, he made an emergency start for Adam Wainwright (back spasms) and held Arizona to one run on three hits while pitching 6 2/3 innings. He did not figure in the decision.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
Narvaez's 10th inning HR lifts Mariners over Sox 2-1
Omar Narvaez hit a game-ending home run in the 10th inning against his former team, Felix Hernandez turned in his best outing of the season and the Seattle Mariners beat the Chicago White Sox 2-1 on Saturday night.
D'Arnaud's 3-run double sends streaking Rays past Angels 3-1
Travis d'Arnaud broke open a scoreless game with a three-run double in the sixth inning, and the Tampa Bay Rays improved their standing in the AL wild card race with their 13th win in 16 games, 3-1 over the Los Angeles Angels on Saturday night.
Rojas gets clutch hit as Marlins snap 5-game skid
Miguel Rojas doubled in the go-ahead run in the top of the eighth inning, Jorge Alfaro hit a massive home run off Madison Bumgarner, and rookie Robert Dugger pitched 6 1/3 solid innings as the Miami Marlins beat the San Francisco Giants 4-2 on...
Four home runs carry Athletics to 8-6 win over Rangers
Mark Canha's two-run home run off the left-field foul pole broke a fifth-inning tie as the Oakland Athletics beat the Texas Rangers 8-6 on Saturday night.
Blackmon homers in 6-run inning, Rockies beat Padres 11-10
Charlie Blackmon homered to start a six-run inning, Daniel Murphy had four hits and 4 RBI, and the Colorado Rockies hung on to beat San Diego 11-10 Saturday night in a game in which both the Padres' Eric Hosmer and manager Andy Green were ejected.
Greinke finally gets win over old club, Astros top Royals
Zack Greinke finally beat his old club and Yordan Alvarez belted a pinch-hit three-run homer as the Houston Astros beat the Kansas City Royals 6-1 on Saturday night.