John Lackey (2-1) worked out of trouble early to work seven innings and pick up his second victory with the Cardinals after arriving in a trade from Boston on July 31. Trevor Rosenthal gave up a leadoff home run in the ninth to Andrew McCutchen but held on to earn his 39th save.
Pedro Alvarez hit his 18th homer in the second off Lackey, but the Pirates managed little after that to fall further behind St. Louis and first-place Milwaukee in the NL Central race.
Pirates starter Francisco Liriano overwhelmed the Cardinals for the first five innings, striking out eight and looking very much like the ace that led Pittsburgh with 16 victories a year ago. He tired in the sixth but worked out of a bases loaded, one-out jam when Oscar Taveras hit into a third-to-home-to-first double play.
Liriano left after giving up an infield single to Kolten Wong leading off the seventh. Hughes came on and promptly picked off Wong. Things didn't work out so well for Hughes, however, when he went to the plate.
Tony Cruz started the game-turning rally with a single, moved to second on a sacrifice bunt and scored on a sharply hit single by Jay. Holliday then gave St. Louis the lead with a sharply hit single to left. St. Louis has 209 RBIs this season with two outs, tops in the National League.
The cushion was more than enough for Lackey, who had little trouble after navigating a choppy second inning. Alvarez hit a long home run to center with one out, and infield hits by Starling Marte and Jordy Mercer followed. The runners moved up on a sacrifice by Liriano, but Josh Harrison's sharply hit fly to left went right to Holliday.
Lackey settled down following the reprieve, not allowing a runner past first base over his final five innings. He walked one and struck out three to improve to 3-0 against National League teams this season.
Cardinals: C Yadier Molina and right-hander Michael Wacha will head to Double-A Springfield this week to begin rehab assignments. Molina has been on the disabled list since tearing a ligament in his right thumb July 10 and will go through a full workout with Springfield on Tuesday. If he makes it through without a problem, Molina will likely play on Wednesday and could be back with the Cardinals before rosters expand on Sept. 1. Wacha hasn't pitched since heading to the DL in mid-June with a stress reaction in his right shoulder. He is scheduled to throw batting practice Wednesday and will make at least one minor league rehab start before being activated. "It's a great step forward," manager Mike Matheny said about the progress of both players. "Obviously, we'll see how they both feel after they get an opportunity to get into a game. It's definitely good news."
Pirates: RHP Charlie Morton, on the 15-day DL since Aug. 20 with a sports hernia in his right hip, threw a bullpen session and will start for Double-A Altoona on Thursday. Morton will work five innings or 75 pitches.
Cardinals: RHP Lance Lynn (14-8, 2.78 ERA) will look to remain unbeaten in August. Lynn is 3-0 with a 1.75 ERA in four starts this month.
Pirates: RHP Gerrit Cole (7-4, 3.69 ERA) tries for his first victory since July 4. Cole is 1-1 with a 1.93 ERA in two regular-season starts against the Cardinals.
Link to box score: St. Louis (71-59) 3 at Pittsburgh (67-64) 2
Join the pre-game, in-game and post-game discussion about each contest at The Cardinal Nation message board.