BALTIMORE -- Held in check by Baltimore's pitchers for 18 consecutive innings, the Boston Red Sox finally played like the highest-scoring team in the major leagues.
After dropping the first two games of the series, the Red Sox fell into an early 2-0 hole before bouncing back. Carp's home run snapped an 18-inning scoring drought in the fourth, and Gomes made it 5-2 in the sixth with a solo shot that chased Baltimore starter Freddy Garcia (3-4).
Every starter except for Jarrod Saltalamacchia got at least one hit, including two by Gomes. Boston finished with nine hits, four for extra bases.
"Us getting shut out's not going to last too long," Gomes said. "We've got some pretty good hitters on this team."
Including Carp, who's been pressed into action at first base since Mike Napoli fell ill in the third inning of Thursday night's game. Napoli was sent back to Boston on Saturday so team doctors can determine why he's been feeling groggy over the past few days.
Carp insisted that the Red Sox didn't come into the game pressing to break out of their offensive funk.
"We don't think about that," he said. "We feel like we're going to mash every day. It just takes one guy to get going, fortunately today it was me. Tomorrow it's going to be another guy and so on and so forth."
The victory increased Boston's lead over second-place Baltimore in the AL East to 2½ games. The Red Sox lost three games at Camden Yards last September and were 0-2 this season, their longest dry spell in Baltimore since a seven-game stretch in 1969-70.
Lackey (4-5) gave up two runs, seven hits and a walk in seven innings to improve to 12-4 lifetime against the Orioles. It was the right-hander's first win since May 25, even though he's allowed three runs or fewer in nine of his 11 starts this season.
The game ended when pinch-runner Alexi Casilla took off from first base on a one-out liner to right by Ryan Flaherty. Shane Victorino made the catch without much difficulty and threw out Casilla for the double play.
"Flaherty hit that ball very good," Casilla said. "He crushed it over my head. I kind of started running and looked where Victorino was playing and thought no chance he was going to catch that ball. I guess I kept running. Bad read."
Baltimore's Manny Machado extended his career-high hitting streak to 13 games and hit his major league leading 31st double. Despite the loss, Baltimore has won 13 of its last 18 games against the Red Sox.
The Orioles took a 2-0 lead before Lackey got an out. After Nate McLouth singled off the pitcher's foot and scored on a double by Machado, Nick Markakis singled and Adam Jones drove in a run with an infield hit. Lackey avoided further damage by retiring Wieters and J.J. Hardy with runners at second and third.
"It might have been the key to the game," Boston manager John Farrell said.
Lackey said, "Can't really do much about the first couple guys getting on once they're on, so you just try to minimize it the best you can."
David Ortiz led off the Boston second inning with a liner to center that bounced off the wall and eluded Jones. The husky man known as "Big Papi" legged it out for his second triple this month; the last time Ortiz had two triples in a season was 2006.
With Ortiz on third, Carp drew a walk before Garcia got three straight outs.
The Red Sox ended their season-high scoring drought with a three-run fourth. After Dustin Pedroia singled and Carp homered to tie it, Gomes singled and Stephen Drew ended a 4-for-31 skid with an RBI double.
Pedroia's single came after home plate umpire Jeff Nelson ruled he fouled off a third strike. In reality, Pedroia missed it.
"It was a break for us," Pedroia said. "I just said 'I thought I fouled that.' Then he said, 'Foul ball.' I thought I hit something. It was probably the ground. I don't know."
Boston made it 4-2 in the fifth. Jacoby Ellsbury led off with a single, his first hit in 12 at-bats during this series. He stole second, advanced on a bunt and scored on Pedroia's grounder to shortstop.
Baltimore put runners at the corners with no outs in the bottom half, but Lackey worked out of the jam.
Red Sox rookie Jose Iglesias stretched his hitting streak to 16 games, longest by a Boston player this season. ... At the request of Jones, the PA system played WWE theme songs before each plate appearance by the Orioles. ... Jon Lester (14-1 lifetime vs. Baltimore) will start for Boston in the series finale. Miguel Gonzalez (2-0, 2.76 ERA vs. Boston) will start for the Orioles. ... Boston RHP Clay Buchholz hasn't sufficiently recovered from a sore neck and will not start Tuesday against Tampa Bay, Farrell said. Rubby De La Rosa will start in his place if he doesn't pitch in relief before then.