PITTSBURGH (AP) -- Josh Harrison provided the pop. Pedro Alvarez provided the power. The reeling Pittsburgh Pirates eagerly accepted both.
Alvarez homered twice and drove in four runs after Harrison barreled into St. Louis catcher Jadier Molina and the Pirates rolled to a 9-0 victory over the Cardinals on Tuesday night.
While Alvarez crushed his 24th and 25th home runs of the season, it was Harrison's violent collision at home plate with Molina in the second inning that sent the message the struggling Pirates aren't quite finished just yet.
Harrison broke from second on Jose Tabata's single to right with two outs and dashed for the plate. By the time he got there, Molina had the ball in his hands. The second baseman lowered his left shoulder and plowed into the catcher's head. Molina somehow held onto the ball to end the inning
It also ended his night.
Molina got up slowly and went to the clubhouse with neck, back and shoulder injuries and was replaced by Tony Cruz. Watching Molina walk off the field was difficult, but Harrison insisted he had no choice.
''There was no way to slide around him,'' Harrison said. ''I felt my only way was to go through him.''
Molina, who complained of a headache afterward, doesn't believe the hit was malicious.
''I never saw the guy coming,'' Molina said. ''I was concentrating on catching the ball. I never saw him coming, but the real pain was in my head. I don't know if he was (targeting) my head or not.''
The play seemed to energize the Pirates, who snapped out of a weeklong funk and drew within two games of St. Louis for the NL's second wild-card spot.
''It can spark a team,'' manager Clint Hurdle said. ''But it will be up to us to play better baseball than we've played lately and play along the lines that we did tonight.''
Having the streaky Alvarez heating up once again certainly helped. The third baseman hit a two-run homer in the third to give the Pirates a comfortable lead, added an RBI double in the fourth then hit a 469-foot blast to center in the sixth.
''The second one, the ball looked like it was going to hit the (Clemente) Bridge,'' Hurdle said. ''That's 400 and I don't know how many. That's a whole bunch of feet. It goes to show you he can shrink a ballpark.''
It was more than enough offense for James McDonald (12-6), who gave up two hits in seven efficient innings, walking one and striking out six to beat the Cardinals and Jake Westbrook (13-10) for the second time in the last two weeks.
Using his curveball to keep the surging Cardinals off balance, McDonald looked like the pitcher that was one of baseball's biggest surprises during the first half of the year, not the one that has stumbled at times over the last six weeks.
''I think it's just part of the growing process,'' catcher Mike McKenry said. ''He's just starting to come into his own. He had a tremendous first half and every pitcher struggles at some point and he just happened to struggle at the wrong time. He just enhanced it and we just had to take the world off his shoulders.''
McDonald had little trouble against the Cardinals' surging lineup, surrendering only a two-out single to Molina in the second and a two-out double to Jon Jay in the sixth. Other than that he was flawless, allowing Pittsburgh's weary bullpen to get a needed break.
Playing with a cushion for once didn't hurt. The Pirates came in losers in six of their last seven since a dramatic 19-inning victory in St. Louis on Aug. 19, forced to play catch-up most nights while the starting pitching faltered.
This time, the Pirates jumped out early.
Garrett Jones hit a sacrifice fly to give Pittsburgh the lead and the Pirates continued to build. Alvarez hit a two-run shot to the notch in left-center to make it 3-0 in the third and got things started in the fifth with an RBI double to score Andrew McCutchen.
McKenry added a run-scoring single to make it 5-0. Westbrook exacted a little payback by drilling Harrison in the leg with a fastball, drawing a warning to both dugouts from home plate umpire Adrian Johnson.
Harrison took no offense at pitch, calling it ''a part of the game.'' He didn't stay at first for long anyway. Clint Barmes followed the plunking with a two-run single the Pirates were up 7-0.
That was more than enough for McDonald. The Cardinals failed to get a runner to third while McDonald was in the game while getting shut out for the second time this month and the seventh time this season.
Westbrook has been a key part of the Cardinals' rise during the second half, winning six of his previous seven decisions. He could do little right on a night the Pirates snapped out of their swoon in a big way.
The veteran right-hander gave up seven runs and 11 hits in five innings, tying a season high with four walks while striking out two. He threw just 61 of his 103 pitches for strikes.
''I haven't been very good the last couple outings and I can't ask the offense to pick me up that big like they did last start,'' Westbrook said. ''It's just a matter of figuring it out.''
NOTES: The series wraps up Wednesday in the final meeting between the clubs this season. Joe Kelly (4-5, 3.26 ERA) starts for the Cardinals against Pittsburgh's Wandy Rodriguez (8-13, 4.01) ... The Pirates released pitcher Erik Bedard on Tuesday morning. Hurdle hasn't announced a replacement in the rotation yet and hinted A.J. Burnett could start in Bedard's spot on Saturday in Milwaukee.