In December 2025 FanGraphs released its ZiPS projections for the 2026 Red Sox and asserted that no position player on their roster would hit 20 home runs.

Willson Contreras proved them wrong in 86 games.

That, and the fact that the Red Sox won 7-5 Sunday night to complete a series sweep of the Angels in Anaheim (for the first time since 2018), would have been more cause for celebration had Ranger Suarez’s early exit not cast a pall.

Suarez, named an All-Star on Saturday for the second time three seasons, struggled before departing in the bottom of the third due to left adductor tightness. He needed 53 pitches (37 for strikes) to complete 2 2/3 innings in which allowed three earned runs on six hits, issued zero walks and struck out five.

“Any time you see that, you’re concerned,” Red Sox interim manager Chad Tracy told reporters of Suarez’s injury. “We’ll have a better idea tomorrow.”

Anaheim got on the board before Boston for the first time in the series. After right-hander Ryan Johnson set the Red Sox down in order in the top of the first, shortstop Zach Neto and third baseman Denzer Guzman greeted Suarez with back-to-back singles. The former scored on a one-out RBI fielder’s choice by designated hitter Jorge Soler, and the ball getting stuck in third baseman Caleb Durbin’s glove prevented the Red Sox from recording an out. Right-fielder Joe Adell’s two-out single brought Guzman home before Suarez could finish the first frame.

The Red Sox answered back immediately, an encouraging sign for a team that entered the day 12-34 when opponents score first. Masataka Yoshida singled with one out, and Jarren Duran’s 13th home run of the year soared 422 feet to center to knot the game at two in the top of the second.

So, too, did the Angels. Catcher Logan O’Hoppe led off the bottom of the second with a single, and was erased as left-fielder Josh Lowe grounded into a force out. Lowe then stole second and scored the go-ahead run on Neto’s RBI double.

It proved the second and final time the Angels led in the contest. Tsung-Che Cheng led off the top of the third with a single, and Wilyer Abreu reached on a two-out error by Neto.

Boston’s biggest bat came through then. Contreras sent Johnson’s first pitch, a 90.2 mph sinker, 446 feet to left-center at a blazing 112.2mph.

This is the seventh 20-homer season of Contreras’ 11-year career. He matched his 2025 home-run total with Sunday’s round-tripper, and is four home runs away from matching his single-season high in 2019. He’s hitting .284 with a .920 OPS. Contreras’ 18 multi-RBI games this season are tied with Dodgers outfielder Andy Pages for the most in Major League Baseball.

“He played a heck of a series,” Tracy said of Contreras.

The Red Sox threatened further damage. Yoshida and Durbin followed Contreras with a single and a walk, respectively, but Duran struck out swinging to end the inning.

Boston tacked on much-needed insurance in the top of the seventh. Second baseman Anthony Seigler and centerfielder opened the inning with back-to-back singles and a double-steal off righty reliever Chase Silseth. Both men scored, on Abreu’s sacrifice fly and Yoshida’s RBI single.

With the exception of Carlos Narváez, whose struggles at the plate continued with an 0 for 4 performance, every man in the Red Sox lineup reached base at least once. They tallied a combined 10 hits, three walks, struck out 11 times, and went 3 for 7 with runners in scoring position and left seven men on base (including Narváez’s bases-loaded strikeout to end the top of the seventh).

The Boston bullpen was largely spectacular in Suarez’s untimely absence. Greg Weissert (1 ⅓ innings pitched), Tyron Guerrero (2 IP), and Garrett Whitlock (1 IP) combined to no-hit the Angels from Suarez’s departure with two outs in the third through the end of the seventh.

“We were very, very fresh down there,” Tracy said of the bullpen, “with an off-day (Monday), which helps. But they were phenomenal having to pitch from the third inning on, and they did an outstanding job.”

The Angels briefly broke through against righty Justin Slaten in the eighth, thanks to Donovan Walton’s pinch-hit two-out double and Adell’s RBI single, but the righty reliever avoided further damage with a swinging strikeout to pinch-hitter Wade Meckler.

Veteran closer Aroldis Chapman, who broke MLB’s all-time relief strikeouts record in Friday’s series opener, yielded a two-out homer to Neto before slamming the door to complete the sweep. His 385th career save puts him just five away from tying Red Sox legend Dennis Eckersley for ninth on MLB’s all-time list.

“We may have someone who hits over 20 home runs, we may not,” said Red Sox chief baseball officer Craig Breslow the first week of spring training, when asked how he felt about the ZiPS projection. “Ultimately, we need to win more games.”

The Red Sox are 40-48 on the season, thanks to an 8-2 run in their last 10 games.

“I think overall this is the best, not just the series, just the complete package of the offense that we’re getting now, we’re scoring scoring runs early, we’re scoring runs on starters, giving our starters a chance to pitch with leads, getting the game to the back-end of the bullpen, just the overall quality of the at bats, the defense has stayed good,” Tracy said. “We’re playing good baseball, so we’ve got to continue to do that.”

FanGraphs also projected the Red Sox and Blue Jays would each go 90-72 to tie for the American League East crown this year.

The 2025 Red Sox won 89 games, but got off to a shaky start as well. Last July 5, they defeated the Washington Nationals to improve to 45-45, then went 44-28 the rest of the season.

This year’s Red Sox will need to go 50-24 the rest of the way to live up to the aforementioned lofty estimation.

“We’re fighting for wins right now,” Tracy said, “so every win you can get is important.”