BOSTON -- Twins rookie lefty Adalberto Mejia is feeling more comfortable each time he takes the mound.
Mejia pitched 5 2/3 innings in his second straight scoreless start, Max Kepler hit a two-run homer and Minnesota rebounded from two consecutive losses against Boston to beat the Red Sox 4-1 on Wednesday night.
"He did a nice job," Twins manager Paul Molitor said about Mejia. "He had to kind of battle. It's kind of becoming a little bit of his MO to burn through pitches, but similarly to his last start, he kept walking off the field with zeros."
Kepler also had an RBI single, and Miguel Sano added an RBI double to help the Twins improve to 24-11 on the road.
Mejia (3-3) allowed five hits, struck out three and walked one in his 11th career start. On Friday night at Cleveland, he held the Indians to two hits over five innings in a victory.
"I feel calmer every time I'm out there," he said through a translator. "I think that's why I did better."
Brandon Kintzler got the final three outs for his 21st save.
Boston starter Rick Porcello (4-10) gave up four runs on six hits in six innings, striking out six and walking two. It was his 14th straight start going at least six innings, the AL's longest active streak.
"It's not like they're beating the cover off the ball," Porcello said. "It's just a couple things here and there that I've got to clean up. I'm not making excuses for myself. I definitely hold myself accountable for the loss tonight."
Red Sox manager John Farrell was back in the dugout after serving a one-game suspension Tuesday for poking umpire Bill Miller in the chest during an argument Saturday.
The Red Sox stranded 11 baserunners, and at least one in every inning. Farrell thought his team may have been pressing a bit.
"I thought there were times we might have expanded the strike zone a little bit, trying to make something happen," he said.
With Minnesota leading 2-0 in the sixth, Kepler lined his homer off the back of Boston's bullpen.
In the first, the Twins scored a pair of two-out runs when Sano hit his RBI double down the third-base line and scored on Kepler's broken-bat single.
Xander Bogaerts drove in Boston's run with a bases-loaded grounder in the seventh.
Twins: LHP Glen Perkins resumed throwing Tuesday after a setback last week following offseason shoulder surgery. Molitor said the club is still formulating a plan for him. He's been sidelined all season and pitched in just two games last year.
Red Sox: DH Hanley Ramirez missed his third straight game after getting hit by a pitch on the left knee Sunday. "He'll go through a full workday today," Farrell said. "He's feeling improved."
MATCHES OWN RECORD
Red Sox 2B Dustin Pedroia played his 98th consecutive error-less game, matching the best mark in club history he set for a second baseman from 2009-10.
This season has started like 2015 for Porcello, the AL's reigning Cy Young Award winner.
Two years ago when he struggled badly, the righty lost nine of his initial 13 decisions and finished 9-15 with a 4.92 ERA.
Minnesota right-hander Phil Hughes was activated from the 10-day disabled list and LHP Craig Breslow was put on with rib cage soreness.
Hughes had been on the DL since complaining of a "dead feeling" in his pitching shoulder on May 21. He allowed one run in three innings during three rehabilitation appearances in Triple-A.
Molitor plans to use him out of the bullpen.
Twins: RHP Kyle Gibson (4-5, 6.23 ERA) looks to continue his success in Fenway Park in the series finale Thursday. He's allowed only one run over 15 innings in two career starts.
Red Sox: LHP David Price (2-2, 4.76) has won his last five decisions against Minnesota, posting a 1.84 ERA.