BOSTON -- Miguel Sano slugged a two-run home run, Nelson Cruz added a solo shot and the Minnesota Twins held off the host Boston Red Sox 6-5 in the opener of a three-game series Tuesday, Sept. 3.

Sano had three RBIs, and Jake Cave drove in a pair for Minnesota, which won for the ninth time in its past 10 games.

Rafael Devers crushed a three-run homer, and Andrew Benintendi also went yard for the Red Sox, who fell for just the third time in their last nine games.

Benintendi's blast with two outs in the eighth off Taylor Rogers got Boston within one, but Rogers pitched around a leadoff single in the ninth for his 23rd save.

The homers by Cruz and Sano in the top of the fifth gave the Twins a 6-0 lead that would prove necessary as the Red Sox's bats woke up in the bottom of the frame.

Boston, held to one hit over the first four innings, put the first two men on via a walk and a single, and both runners advanced into scoring position on a wild pitch from Lewis Thorpe. Brock Holt drove in a run on a groundout, and after a walk to Jackie Bradley Jr., Trevor May replaced Thorpe.

May got Mookie Betts to fly out before Devers hit his three-run blast down the line in right field to get the Red Sox within 6-4.

Boston put runners on the corners with two outs in the seventh, but Devers couldn't come through a second time, flying out to left to end the threat.

The Twins got on the board in the first inning when Sano singled home a run. Minnesota upped its lead to 3-0 on Cave's two-out triple in the third.

All the Twins' runs came off Red Sox starter Rick Porcello (12-11), who gave up eight hits, struck out five and walked two.

After Randy Dobnak pitched the first inning for Minnesota in his first major league start, Thorpe (2-1) gave up three runs on two hits and two walks with four strikeouts.