It was a wild night in Baltimore.

A total of 31 runs were scored, but the Boston Red Sox prevailed by beating the Baltimore Orioles 19-12 at Camden Yards in the first of their four-game series.

Boston took an early three-run lead, but the O’s scored eight straight to knock starter Nathan Eovaldi out of the game in the third inning.

The Red Sox battled back, though. Xander Bogaerts plated four runs, Brock Holt tallied three RBIs and scored as many runs and J.D. Martinez collected his 100th and 101st RBI of the season in the win.

With the win, the Red Sox improved to 82-35, while the Orioles slipped to 35-81.

Here’s how it all went down:


Both offenses were firing on all cylinders Friday night, combing for 31 runs on 33 hits.

— All good things must come to an end — including Eovaldi’s 15-inning scoreless streak.

The Orioles cut Boston’s lead down to two in the second after Chris Davis took the right-hander yard with a solo home run to center field.

Baltimore continued to add to its lead before the inning was done with a Cedric Mullins RBI double and Adam Jones two-run single to give the O’s a one-run lead.

Things didn’t get much better for Eovaldi in the third, as the O’s tacked on a run on a rare error by Jackie Bradley Jr. before Baltimore took a 6-3 lead on another RBI from Mullins. With runners on the corners and one out, Jonathan Villar plated Baltimore’s seventh run on a sacrifice bunt.

The righty’s night came to a close after Tim Beckham hit an RBI single to make it 8-3.

— Brandon Workman got the final out of the third when Dan Butler caught Beckham stealing second.

He came back out for the fourth and pitched a scoreless frame with three strikeouts.

— Drew Pomeranz made his first appearance out of the bullpen in the fifth and picked up a strikeout while pitching a scoreless inning.

— Heath Hembree got the ball for the sixth after Boston re-took the lead, and gave up a leadoff home run to Beckham to cut the Red Sox’s lead to two.

After the right-hander gave up a single and a double, Davis hit a sacrifice fly to bring in a run to make it 11-10.

— Ryan Brasier pitched a 1-2-3 seventh with two strikeouts.

— Matt Barnes was responsible for the eighth, and gave up a solo shot to Mark Trumbo.

— Joe Kelly closed out the game in the ninth, but not before giving up a run to make it 19-12.

— It didn’t take long for the Red Sox to claim an early lead against the O’s. Mookie Betts to leadoff the game and Martinez doubled with two outs to put runners on second and third. Bogaerts then blasted his 17th home run of the season to left field for the 3-0 advantage.

— Down 8-3 in the fourth, Boston got two runs back when Brock Holt walked and later scored on a Bradley triple. The center fielder scored the Sox’s fifth run on a wild pitch from Dylan Bundy.

— Holt brought Boston within two in the sixth with a solo home run to right field — but that was just the start of a dramatic inning.

Butler singled, followed by Bradley and Betts drawing back-to-back walks to load the bases. Andrew Benintendi grounded into a force out at home, but Mitch Moreland drove in a run with a sacrifice fly. Martinez was intentionally walked to re-load the bags for Bogaerts. The shortstop drew a walk to tie the game before Rafael Devers drew yet another walk, the fourth of the inning, to take a 9-8 lead.

Holt capped off the six-run sixth by driving in two more runs with a single.

— Bradley doubled and Betts singled to begin the seventh, paving the way for Benintendi to hit a three-run bomb to right to put Boston up 14-10.

— Boston wasn’t done as it loaded the bases in the eighth with one out before Betts cleared them with a three-run double to widen the lead to 17-10. Martinez added to the lead with a two-RBI single to make it 19-10.

— Betts, Holt and Bradley paced Boston with three hits apiece, while Moreland and Martinez each had two.

— Devers, and pinch-hitters Steve Pearce and Sandy Leon were hitless in the game.

Quick role reversal for tonight’s game.

The Red Sox continue their three-day, four-game set with the O’s on Saturday afternoon. David Price is expected to get the ball for Game 1 of the doubleheader, with first pitch from Camden Yards expected to be 1:05 p.m. ET.

Thumbnail photo via Evan Habeeb/USA TODAY Sports Images