ST. LOUIS -- For the second time since the All-Star break, Francisco Liriano had dazzling stuff against St. Louis. The lefty shook off the worst outing of his career and saved the Pittsburgh Pirates bullpen, too.
"It was important because every game counts, especially after last night," Liriano said after throwing a four-hitter in a 5-1 victory over the Cardinals on Wednesday night. "It was a tough game last night and we had to put that one behind us and come ready to play."
Pedro Alvarez and Garrett Jones homered for the Pirates, who snapped a season-worst four-game losing streak and took a three-game lead in the NL Central.
The Pirates had a five-run cushion after four innings against rookie Shelby Miller, who didn't miss a turn five days after getting drilled on the elbow and lasting just two pitches against the Dodgers. They're 8-4 against the Cardinals heading into the series finale matching starters A.J. Burnett and Lance Lynn.
"You give up five runs, you just get outpitched," Miller said. "I mean, it's simple. I didn't do very good."
Pittsburgh totaled just 10 runs during the losing streak and won in 2 hours, 30 minutes one night after losing 4-3 in 14 innings in a game that lasted 4:55. Pirates relievers worked eight innings Wednesday.
Starling Marte was the goat in that loss after dropping a routine fly ball that would have been the second out in the ninth. He contributed a two-run double.
"Everybody tried to help me," Marte said. "What happened last night, I was feeling bad and somebody told me to keep my head up and play."
Liriano (13-5) struck out six and needed just 94 pitches and is 3-0 in his career against St. Louis. His last time out, the lefty was punished for 10 runs in 2 1/3 innings at Colorado.
Against the Rockies, Liriano said he had no control. He carved up the Cardinals.
"That was the mulligan," manager Clint Hurdle said. "What we've seen all year, he's just given us chances to win. He's pitched deep into games, he's mixed pitches, he's really been in command when runners get on base."
Matt Carpenter doubled and eventually scored on a groundout by Carlos Beltran in the ninth to snap Liriano's shutout bid. He settled for his second complete game of the year and third of his career.
"You couldn't really tell what was coming out of his hand," Cardinals manager Mike Matheny said. "You could tell he had late life by the way the guys were reacting."
Alvarez hit his 29th homer an estimated 440 feet to straightaway center leading off the second against Miller (11-8), and with one out Jones lined his 11th over the right field wall estimated at 392 feet. Marte's hit capped a three-run fourth, with two of the runs unearned due to a fielding error by third baseman David Freese.
Miller gave up two homers for the fourth time and has lost all of those starts, twice against Pittsburgh. In six innings, he gave up five runs, three earned, on eight hits.
Liriano retired the side in order six times, twice with the help of double plays. A third double play helped him escape without damage in the second when the Cardinals got two of their hits.
In the three starts prior to his clunker at Colorado, Liriano allowed one earned run over 21 2/3 innings in winning three straight starts.
The Cardinals are 3-6 with one game to go on a 10-game homestand that began with series losses to the Cubs and Dodgers.
Michael Wacha, one of St. Louis' top pitching prospects, made his first career relief appearance and struck out four in two scoreless innings.
The Pirates have outscored the Cardinals 14-2 in Liriano's two starts this year. ... Tabata missed his second straight start but entered as a defensive replacement in right field in the eighth. He was scratched with flu-like symptoms Tuesday. ... The Cardinals left a season-high 17 runners on base Tuesday night. ... Matt Holliday has 17 hits during an 11-game hitting streak but also grounded into his major league-leading 27th double play. He also lined into a twin killing in the fourth. ... Nine of the homers off Miller have come with the bases empty. ... Alvarez has homered two of the last three games. He has 11 homers against the Cardinals in 46 career games.