– Not that you can tell on his linebacker frame, but Miguel Sano lost 7 pounds to a stomach virus over the weekend, and even described himself as feeling “a little bit weak” at the plate.

He’s not weak anymore. No coincidence — neither is the Twins lineup.

The Twins cleanup hitter broke an 0-for-16 drought with a first-inning double, and Max Kepler shrugged off a 1-for-16 week of his own with an RBI single and a two-run homer, and the Twins finally beat the Red Sox in Fenway Park 4-1 on Wednesday night.

“I’ve been feeling a little bit weak coming into today,” said Sano, who was so waylaid by his illness, he sat out two games during the Twins’ three-game sweep at Cleveland over the weekend. “But I took the medication, and I feel fine now.”

That’s good, because Sano might need his strength. According to a social media report in the Dominican Republic, he has been invited to take part in the Home Run Derby in Miami next month, a topic he declined to address after the game.

For now, he said, he has a more pressing concern. “I’m the type of player,” he said, “who worries when the team doesn’t win.”

The Twins looked a bit sick in two consecutive losses here, scoring a single run in only three of their 18 innings. They hadn’t held a lead on Boston in their past four meetings. But that all changed in the first inning Wednesday. With two out, Joe Mauer doubled off the wall vs. reigning AL Cy Young Award winner Rick Porcello, and Sano followed by smashing a line drive down the left-field line for a double of his own.

“It’s kind of obvious: If [Sano] is going well, it helps our cause because he’s an impact player,” Twins manager Paul Molitor said. “You’ve going to have some ups and downs through the year. … He’s just been in a little bit of a funk as of late.”

Same with Kepler, though he’s been healthy, if a little underutilized lately because the Twins have faced an unusual number of lefthanders. With the righthanded Porcello on the mound, though, the 24-year-old Kepler was restored to the middle of the order, and it paid off. Kepler followed Sano’s double by poking a looper over second baseman Dustin Pedroia’s head into right field, and Sano easily scored the inning’s second run, the Twins’ first multi-run inning in 25.

Porcello then quieted the Twins bats for the next four innings, but when he walked Sano on four pitches to open the sixth, Kepler was waiting to pounce. He fouled off an outside fastball, but when the next pitch was another fastball, low and in the middle of the plate, Kepler didn’t miss. He smacked a low line drive that carried over the fence and deflected off the top of the Red Sox bullpen, his first home run since June 15.

That was all the offense the Twins could manage, but it was enough for rookie Adalberto Mejia and his relievers. Mejia hasn’t gone deep into a game lately — he hasn’t completed six innings since June 1 — but the quality of his outings has been improving. The lefthander held Cleveland to two hits over five innings Friday, and he kept working his way out of trouble in his Fenway Park debut, too.

“He had to battle. It’s kind of becoming his MO, to burn through a lot of pitches,” Molitor said. “But similarly to his last start, he kept walking off the field with zeros.”

Mejia gave up five hits and walked only one batter Wednesday before being relieved with two outs in the sixth inning, his pitch count having reached 101. But none of those Red Sox base­runners scored. Tyler Duffey surrendered a run on a single, two walks and a groundout in the seventh to spoil the shutout, but Taylor Rogers snuffed that jam, and Brandon Kintzler finished up to earn his 21st save — tying him with Boston’s own Craig Kimbrel for the AL lead.

“Starting pitching was huge. It gave us a chance to use our guys that have been solid for us,” Molitor said. “Kintzler has had an amazing first half.”