Three batters into the game, it appeared Chicago Cubs starter Travis Wood might not make it out of the first inning.
Jose Tabata led with a triple off the center-field fence and scored on a wild pitch to put the Pittsburgh Pirates ahead 1-0. Jordy Mercer followed with a double that bounced into the left-field bleachers, and Andrew McCutchen singled to put runners at the corners.
"They came out hacking, they had a game plan right there, and fortunately enough I was able to get out of there with just one run," Wood said.
Wood settled down to pitch six innings. But the Cubs lost 3-2 as Francisco Liriano took a no-hit bid into the seventh inning and pinch-hitter Justin Morneau singled in the go-ahead run in the eighth.
Pittsburgh, which began the day tied with St. Louis for the NL Central lead, took three of four from the last-place Cubs and won for the sixth time in seven games.
"You knew runs were going to be tough to go by on both ends," Cubs manage Dale Sveum said. "Woody got out of a big jam in the first inning, settled down, and pitched very well. Obviously Liriano's very good so they matched each other evenly, pitch-for-pitch, a couple bloopers there in the last inning cost us the win there."
Morneau, acquired from Minnesota on Aug. 31, drove in his first run for the Pirates. The 2006 AL MVP is batting .279 (12 for 43) with Pittsburgh.
With the score 2-2 in the eighth, Andrew McCutchen was hit by a pitch from Pedro Strop (2-2), took second on Marlon Byrd's bloop single to center and scored on Morneau's single.
"It's funny how things turn out in this game," Morneau said. "You hit some balls hard and have nothing to show for it then I get a broken-bat hit that ends being the game winner."
Kyle Farnsworth (1-0) pitched a scoreless eighth, and Mark Melancon completed a three-hitter with a perfect ninth for his 16th save in 18 chances.
Liriano didn't allowed a hit until Junior Lake singled into the hole between third base and shortstop leading off the seventh. Shortstop Jordy Mercer made a diving effort and stopped the ball on the outfield grass, but Lake easily beat the throw.
Welington Castillo followed with a tying, two-run homer into the bleachers in left-center. Castillo's seventh homer of the season stopped Liriano's streak of 22 consecutive scoreless innings at PNC Park.
"You knew it was going to be tough and that's how you score against Liriano -- you get somebody on and pop a home run," Sveum said. "Unfortunately, that's all we got and we couldn't get (Wood) a win."
Liriano allowed two runs, three hits and four walks in six-plus innings. At 16-7, he became the first Pirates pitcher with a decision in his first 23 starts since Larry French opened with 24 in a row in 1930, according to STATS.
Wood gave up two runs, five hits and two walks.
"My plan was to attack," Wood said. "I'm always a guy who attacks and tries to get the ball in play as quick as possible. They found the holes and that worked out for them, fortunately enough for me I was able to counter that and get some quick outs and pitch out of that jam.
NOTES: Cubs RHP Scott Baker is slated to make his final start of the season Friday against Atlanta. Sveum has decided not to tinker with his six-man rotation, even though Baker has allowed only one run, five hits and one walk in 11 innings in his first two starts since returning from elbow ligament surgery. ... Pittsburgh LF Starling Marte, who has not had a plate appearance since Aug. 18 because of a bruised right hand, is to take batting practice Monday and could be in the lineup Tuesday against San Diego. ... The Cubs open a four-game series at Milwaukee on Monday night against the Brewers while the Pirates open a four-game home series against San Diego.