New York catcher Brian McCann clouts one of his two home runs on Saturday, a two-run shot in the sixth inning of a victory over the Boston Red Sox at Yankee Stadium.

NEW YORK — Brian McCann put an emphatic end to his season-opening slump, hitting his first two home runs for the New York Yankees to help beat John Lackey and the Boston Red Sox 7-4 Saturday.

Carlos Beltran, Alfonso Soriano and Kelly Johnson also connected as the Yankees scored all their runs on homers. Lackey was tagged for a career-high four home runs in 5 2-3 innings.

New York has won two of three in a series that wraps up Sunday night.

A.J. Pierzynski hit his first home run for the Red Sox.

After striking out in the first inning and dropping his batting average to .158, McCann quickly reversed his fortunes. The seven-time All-Star who left Atlanta to sign an $85 million, five-year deal with the Yankees led off the fourth with a liner into the first row of the second deck in right field.

McCann hurried around the bases, and fans were still cheering when Soriano followed with his third home run of the week.

Beltran opened the sixth with a double and McCann homered to right-center. It was the catcher’s 10th career multihomer game.

The Red Sox have been shifting on McCann during this series, moving an extra infielder onto the right side once they get a strike on him. Facing Lackey for the first time, McCann made moot any shift.

Hiroki Kuroda (2-1) pitched into the seventh, and reliever Matt Thornton gave up Mike Carp’s two-run single that made it 6-4. With runners at the corners, Carp was caught stealing for the third out.

Shawn Kelley pitched a perfect ninth for his second save.

Lackey (2-1) threw plenty of strikes, but gave up 10 hits. He walked none, fanned six and missed a chance to get off to a 3-0 start for the first time in his career.

Jacoby Ellsbury bunted for a two-out single in the first and Beltran homered on an 0-2 pitch right down the middle. Lackey was already stalking toward the plate to get a new ball from the umpire before Beltran reached second base.

Johnson hit his third homer in the eighth.

NOTES: Soriano had played only one inning in right field during his career — in the 2003 World Series, in fact — before starting there in this game. He made an error on the first chance he got, dropping a soft fly by Xander Bogaerts. ... David Ortiz has reached safely in 25 straight games against the Yankees, the longest active streak vs. New York. He got one hit, and is 11 for 20 lifetime facing Kuroda. ... The Yankees hit back-to-back homers for the first time since last June 6. ... Red Sox CF Grady Sizemore didn’t start, a day after his big three-run homer beat the Yankees. He missed the last two seasons because of injuries, and manager John Farrell doesn’t want to overuse him. ... Yankees SS Derek Jeter got a day off. ... Yankees 1B Mark Teixeira (strained right hamstring) said his recovery is going well. He’s eligible to come off the DL next weekend and manager Joe Girardi said he’d be surprised if Teixeira isn’t back on time. ... Red Sox LHP Felix Doubront (1-1, 9.00 ERA) is set to face RHP Ivan Nova (1-1, 8.68) in the series finale.

Twins 7, Royals 1

MINNEAPOLIS — Joe Mauer hit his first home run of the season and free-agent acquisition Ricky Nolasco earned his first win for the Minnesota Twins in a 7-1 victory Saturday over the Kansas City Royals.

A day after getting his first RBI of the year, Mauer drove in three more runs against Kansas City starter James Shields. Brian Dozier had a leadoff homer for Minnesota, which has scored the second-most runs in the American League.

Nolasco (1-1) showed why the Twins signed him to a $49 million, four-year contract to steady their rotation. The right-hander gave up five runs in each of his first two outings for his new team, but was on top of his game Saturday in his first home start for Minnesota. Nolasco went eight innings and allowed five hits with four strikeouts.

Shields (0-2) yielded seven runs — one earned — in 5 2-3 innings. He gave up six hits and walked three while striking out five.

Cards 10, Cubs 4

ST. LOUIS — Matt Adams homered, Matt Carpenter drove in two runs and Adam Wainwright saved a tired bullpen by lasting seven innings for the St. Louis Cardinals in their 10-4 win over the Chicago Cubs on Saturday.

It was hardly a vintage performance by Wainwright (2-1), who helped his own cause with an RBI single. He gave up a homer to Junior Lake on his first pitch and allowed six more hits and three runs after that while striking out eight. The four runs were twice as many as Wainwright yielded in his first two starts.

But the right-hander, who led the majors with 241 2-3 innings pitched last year, was able to give the Cardinals’ bullpen some rest. St. Louis relievers Carlos Martinez, Kevin Siegrist and Trevor Rosenthal all threw more than 20 pitches in Friday night’s 11-inning loss.

The win was Wainwright’s 101st with the Cardinals, tying Matt Morris, Larry Jackson and Max Lanier for 10th place on the franchise list.

In addition to Carpenter, Daniel Descalso also had two hits with an RBI and two runs scored. Adams hit his first home run, a leadoff shot in the second inning, and Jon Jay drove in two runs with a single.

The Cubs’ Nate Schierholtz, who had four hits Friday night, had two doubles and an RBI.

Rays 1, Reds 0

CINCINNATI — Alex Cobb went seven innings on Saturday, extending Tampa Bay’s run of solid starting pitching, and James Loney homered for a 1-0 victory over the slumping Cincinnati Reds.

The Rays came into the interleague series with a 1-8 mark against Cincinnati. They’ve taken the first two games with shutdown pitching and just enough offense.

Cobb (1-1) pitched seven shutout inning against Texas on Sunday but got a no-decision. He kept the scoreless streak going Saturday, limiting Cincinnati’s struggling lineup to four hits without walking a batter.

Grant Balfour, who fanned Brayan Pena with the bases loaded to end Friday night’s game, got three outs for his fourth save in as many chances, finishing off the four-hitter.

Loney led off the second inning with his first homer against Alfredo Simon (1-1), who matched his career high with eight innings and allowed only five hits.

Cincinnati stranded a pair at third base and had runners thrown out at third and home, extending its run of wasteful offense. The Reds have lost all four of their series this season, falling to 3-8 for the first time since 1995, when they won the NL Central.

The Rays opened the series with a 2-1 win Friday night, when David Price took a shutout into the ninth before Joey Votto homered with one out. Rays starters have thrown at least seven shutout innings four times in the last six games.

It was Tampa Bay’s second shutout of the season, and the second time the Reds have been shut out. The Reds also were blanked 1-0 by the Cardinals on opening day.

Both managers changed their lineups, looking for some runs.

The Rays have scored only nine in their last six games, but managed to win three of them because of the impressive pitching. The Reds have scored 28 runs all season, second-fewest in the National League.

Indians 12, White Sox 6

CHICAGO — Ryan Raburn hit a tiebreaking, two-run single with two outs in the seventh inning, leading the Cleveland Indians to a 12-6 victory over the Chicago White Sox on Saturday.

Nick Swisher, Jason Kipnis and David Murphy homered for Cleveland, which snapped a three-game losing streak. Murphy added a three-run triple in a four-run ninth against Donnie Veal.

The Indians improved to 18-4 against the White Sox since the beginning of last season, overcoming another shaky start by Justin Masterson. They will try for a split of the four-game series Sunday.

Adam Eaton had two hits, including his first homer, and walked twice for the White Sox, who have scored five or more runs in nine of their 12 games this season. Adam Dunn had a two-run single and Alexei Ramirez extended his hitting streak to 13 games dating to last season.