It was the 25th loss in 37 games for St. Louis, which has lost three straight games. This one featured another poor outing from starter Lance Lynn (5-5), the offense's inability to take advantage of an opportunity to knock Cole around early and a wretched sixth inning that saw the Pirates (35-40) score three runs off one hit.
"Lance actually threw the ball well, but a couple of mistakes cost him," Cardinals manager Mike Matheny said. "They capitalized on them."
Lynn's mistakes occurred in consecutive innings. Working with two outs and Andrew McCutchen at first after a bloop single ended a streak of nine straight hitters set down, Lynn put a fastball right down the middle for Mercer.
The Pittsburgh shortstop pounced on it, lining the 2-1 offering over the wall in left for his seventh homer of the year and a 3-1 Pirates lead.
"He comes out you primarily with a fastball, but he locates it well," Mercer said of Lynn. "I think he wanted to come in and he left it up. I wasn't sure it was going over the wall because it had topspin, but as long as it goes over the wall, that's all that matters."
Harrison trumped Mercer's blast an inning later, rifling a center-cut cutter into the seats down the left-field line for his ninth homer of the season. That made Harrison 10-for-26 with a pair of homers in his career against Lynn.
"He creates a wake, a positive wake out there," Pirates manager Clint Hurdle said of Harrison. "He has been really good from the start of the year until now. He's been fun to watch."
Cole was fun to watch if you were a Pittsburgh fan, too. The game turned for him in the second, moments after Lynn popped a double into right-center for his second hit in 23 at-bats.
The ball bounced off the warning track and landed in the St. Louis bullpen, forcing Greg Garcia to return to third and denying the Cardinals a 2-1 lead. Cole then whiffed Carpenter, who entered the plate appearance with four homers in 35 at-bats against him, to strand two in scoring position.
By the time St. Louis got another man into scoring position, it was a 7-1 game in the ninth and Cole (6-6) was cooling his heels in the locker room. In winning his third straight start, Cole allowed five hits and two walks while fanning five.
"Carpenter got him in the first inning, but Gerrit battles," Harrison said. "He gave us exactly what we needed tonight."
Mercer's RBI groundout in the sixth made it 5-1. Lynn departed two batters later after an intentional walk to Chris Stewart and an unintentional walk to Cole filled the bases.
Rookie reliever John Brebbia then gave the Pirates their last two runs, plunking Adam Frazier and Harrison as the sellout crowd of 46,735 booed.
Lynn's final line was 5 2/3 innings, six hits and seven runs with three walks and three strikeouts. In his last two starts, he's yielded 14 runs and six homers in 10 1/3 innings.
"I felt good, but I just didn't execute when I needed to," lamented Lynn. "I'm going to regroup and move forward, and make pitches."
The Cardinals made the final margin look a bit more respectable with two runs in the ninth as pinch hitter Stephen Piscotty looped a single to left-center to score Jose Martinez and Eric Fryer.
Even that inning was tainted by a baserunning error. Paul DeJong tried to stretch a single into a double and was called out after a replay review overturned the original safe call.
At 33-40, St. Louis is off to its worst start since 2007, its last losing season.
NOTES: St. Louis CF Dexter Fowler (quad) returned to the lineup Saturday night after missing the previous two games. Fowler was injured in the 10th inning Wednesday night at Philadelphia. ... Cardinals C Yadier Molina (knee) was scratched from their lineup for the second straight game and replaced by Eric Fryer. Molina was struck on the knee by a foul tip in Thursday's 5-1 loss to the Phillies. ... Pittsburgh 1B/OF John Jaso's tie-breaking homer in the ninth inning Friday night was the 50th homer of his career. It was also his fifth homer of the season, four of which have occurred in the seventh inning or later.