As the final out was made, Rick Porcello swung a punch through the air with the ferocity of a champion boxer and let out a howl of celebration before wrapping catcher Sandy Leon in a hug.
Then he made sure to get the ball back. This was one game that required a memento.
On a night of Red Sox-Yankees drama that included Alex Cora being ejected for the first time as manager after the Yankees threw at Mookie Betts, Steve Pearce hitting yet another home run, and Betts playing six innings at second base, it was Porcello who stood tallest in a 4-1 victory.
The righthander faced only 28 hitters, allowing one hit and striking out nine without a walk in an 86-pitch masterpiece. The final 21 Yankees went in order.
“I don’t know that I’ve been that fired up after a game,” Porcello said. “A complete game against that team? That was a fun night.”
It was the first one-hitter by a Red Sox pitcher against the Yankees since Hall Famer Pedro Martinez’s 17 strikeout game at Yankee Stadium on Sept. 10, 1999.
“Forget me getting thrown out or them throwing at Mookie,” Cora said. “I think the story is Rick Porcello. He was outstanding today.”
After Miguel Andujar homered leading off the third inning, Porcello (14-4) was perfect. Jackie Bradley Jr. was his secretary of defense, making six putouts including a leaping catch on a deep fly ball by Neil Walker in the ninth inning.
“They definitely hit some balls hard and our guys made some great plays,” Porcello said.
Porcello has a 2.67 earned run average in 12 starts against the Yankees since joining the Red Sox in 2016. That includes a 1.25 ERA in eight games at Fenway.
But this was Porcello at his best, working at a brisk tempo, changing speeds, and using the hitters’ aggressiveness against them. He threw 79 percent of his pitches for strikes.
“I was trying to take care of business on the field,” Porcello said.
The 77-34 Sox are starting to run away with the American League East. They now lead the Yankees by 7½ games, outscoring their rivals, 19-8, in the first two games of the four-game series.
The Sox have won 6 of 7 overall and 21 of 26. The Yankees have lost three straight.
The ruckus started with the first batter of the game, Brett Gardner.
Porcello threw and 0-and-2 sinker that rode up and in and struck Gardner on the arm. Gardner stared at Porcello as he walked very slowly to first.
“Nobody likes to get hit,” Porcello said. “I don’t blame him. If it’s about anything else, then I’m sorry he feels that way.”
Porcello ended the inning from there. When Betts came to the plate to lead off the bottom of the inning, Luis Severino’s first pitch was up and in, shoulder high.
Betts had to bend out of the way to avoid being hit and ended up on the seat of his pants in the dirt. It appeared to be retaliation and home plate umpire Adam Hamari warned both teams.
Cora shouted at Severino, then charged out of the dugout after the warning was issued.
“I know what I said and I know how I feel about it and they know how I feel about it,” Cora said. “I don’t appreciate them throwing at Mookie Betts’s head.”
Hamari motioned Cora to go back to the dugout, then ejected him as he got to the plate. Hamari did not otherwise respond as Cora yelled at him.
Cora tried several times to push past crew chief Phil Cuzzi to get to Hamari and could face a suspension.
“I wasn’t very polite,” Cora said. “It’s out of character. I already apologized to my family.”
Severino insisted he was not throwing at Betts.
“If I’m going to hit somebody, I’m not going to miss,” he said. “That was the first pitch of the game, trying to throw that pitch inside, but nothing else.”
There was more to come. After Betts grounded out, Andrew Benintendi doubled and Pearce homered to left field, a shot that slammed into the base of the light tower. The sellout crowd, eager for revenge, erupted.
It was Pearce’s fourth homer in the series, good for eight RBIs.
The Red Sox usually platoon the righthanded-hitting Pearce and Mitch Moreland at first base. But after Pearce homered three times Thursday, Cora stuck with him against Severino, a righthander.
“It’s hard to sit a guy who hit three home runs,” Cora said. “There’s no stats, no nothing. He has to play. What he did [Thursday], there’s no way.”
The Sox weren’t done. Ian Kinsler drew a walk, stole second, and scored on a two-out bloop single by Eduardo Nunez.
Kinsler slowed as he approached the plate because of tight left hamstring. When the Sox came out for the second inning, Betts was at second base in place of Kinsler, who is likely to go on the disabled list. Pearce moved to right field and Moreland was at first base.
The Sox had Xander Bogaerts available, but didn’t want him to hit because of a bruised right hand.
Betts was drafted and developed as a second baseman but had not played second base since 14 games in 2014. He went to the outfield after that.
“It was like a dream come true,” Betts said of returning to the infield.
Two groundballs came his way and Betts handled them easily. Bogaerts entered the game in the eighth for defensive purposes and Betts returned to right field.
Severino allowed another run in the fifth inning when J.D. Martinez doubled and scored on a two-out single by Moreland.
Severino (14-5) allowed four runs over 5⅔ innings. He has given up 20 earned runs over 20 innings in his last four starts.