With the end of the regular season fast approaching, fantasy owners are making sure they have the tools — especially in the rotation — to make it to the finish line intact.

Despite his struggles in almost every facet outside of strikeout rate this year, Chris Sale’s season came to an end this week. That roster spot, however, still needs to be filled, and there are plenty of hurlers capable of filling the void.

Some might say recommending adding a pitcher like Andrew Heaney is overreacting to his 14-strikeout performance Tuesday against the Rangers, in which he allowed one run on four hits and didn’t surrender a single walk over eight innings. Just six other pitchers (Max Scherzer, Justin Verlander, Gerrit Cole, Shane Bieber, Walker Buehler, Sale) have had a start with 14 strikeouts and no walks this season.

But, it was the Angels lefty’s third straight solid effort since coming off the injured list Aug. 10. In his past three starts, he is 2-0 with a 2.41 ERA, 24-1 strikeout-walk rate, a .164 opponent average and .511 opponent OPS. Over his past five starts (he made two starts in July before landing on the IL with inflammation in his pitching shoulder), he is 2-1 with a 2.89 ERA, 34-5 strikeout-walk rate and a .231 opponent average. His ERA has dropped from 5.40 on June 30 to 4.31 in that five-start span.

Other positives: Heaney has a career-high 14.2 swinging-strike rate, including three starts with at least 20 swinging strikes. Opponents are also swinging at more pitches outside the strike zone and making less contact against the 28-year-old, who also has a career high 77.2 strand rate.

The lefty has been showing fantasy owners his potential for years, only to be thwarted by injuries. He made 30 starts last year, the only time in his six-year career he made more than 18 starts, while going 9-10 with a 4.10 ERA and 180 strikeouts.

Heaney’s remaining schedule might seem daunting — starting with Sunday’s matchup against the Astros and continuing with potential starts against the White Sox and Red Sox, and a series of playoff contenders in the Rays, Yankees and Athletics. The good news, however, is he has held his own against each team throughout his career.

He owns a 2.65 ERA in three career starts against the Rays. He is 1-0 with a 1.47 ERA and 10.3 strikeouts per nine innings in three career starts against the Bombers. He is striking out 9.8 per nine against Oakland and has a 3.28 ERA with 9.8 strikeouts per nine in nine career starts against the Astros.

Heaney, who remains available in 55 percent or more of ESPN leagues, should provide reliable depth to any fantasy rotation … as long as the injury bug doesn’t snack on him again.

Here’s a look at some other pitchers worth grabbing:

The Rays’ Ryan Yarbrough was the most added pitcher this week in ESPN leagues, with his ownership up to 68 percent. The lefty has not tasted defeat since June 13, and has gone 6-0 with a 1.48 ERA and .178 opponent average in his past 12 appearances (four legit starts). Over his past three starts, he has allowed one earned run, struck out 23, walked none and held opponents to a .136 average.

Owned in just 15 percent of ESPN leagues, San Diego’s Dinelson Lamet has not allowed more than three earned runs in any of his past six starts while going 2-0 with a 3.19 ERA and .220 opponent average. He struck out 41 over his past 31 innings (11.9 K/9) and had a 15 percent swinging strike rate in that span.

Washington’s Joe Ross, owned in just 6 percent of ESPN leagues, was 4-0 with 0.42 ERA and 13 strikeouts in his first four starts this month before taking the mound Saturday.

A brief stay on the IL earlier this month has not slowed Michael Pineda, who has lowered his ERA from 6.09 on May 5 to 4.26 while going 7-2 with a respectable 3.60 ERA over his past 16 starts. He allowing more than three earned runs just twice in that stretch while going 7-2 with 83 strikeouts and a 13 percent swinging-strike rate. He has a favorable remaining schedule (six or seven starts) — with matchups against the White Sox (2), Tigers and Royals (2) a possibility. He is available in more than 70 percent of ESPN leagues.

San Francisco’s 34-year-old veteran Jeff Samardzija has dropped his ERA more than a full run since July 1 after allowing more than two earned runs in a start only once in his past 10 starts. He has gone 5-3 with a 2.00 ERA, 51-13 strikeout-walk rate and .173 opponent average in that span, and is rostered in fewer than 50 percent of ESPN leagues.

Big Hits

Adam Eaton OF, Nationals

Hit .309 in his first 37 games since the All-Star break, and was hitting .329 with five homers, 13 RBIs and three stolen bases over his past 20 games. Entered Saturday on a seven-game hitting streak.

Aaron Nola SP, Phillies

In 11 starts since June 21, he has lowered his ERA from 4.55 to 3.51 while going 6-1 with a 2.24 ERA, 80-24 strikeout-walk rate and .179 opponent average.

Rafael Devers 3B, Red Sox

Entered Saturday on a tear over his past 11 games — going 24-for-50 (.480) with four homers, 16 RBIs, 12 runs and a 1.439 OPS. He had at least one hit in 32 of his past 39 games.

Kyle Seager 3B, Mariners

The 31-year-old has at least one hit in 25 of his past 27 games, and is hitting .354 with 11 homers, 27 RBIs, 21 runs and a 1.206 OPS in that span.

Big Whiffs

Trevor Williams SP, Pirates

Has allowed 47 earned runs over his past 52 ²/₃ innings (8.03 ERA), while going 3-5 and allowing 16 home runs, 22 walks and a .328 opponent average in that 10-start span.

Khris Davis DH, Athletics

Hit his first home run since July 31 on Wednesday, but still entered Saturday hitting .140 (7-for-50) with two RBIs, five runs, 17 strikeouts and a .418 OPS in his past 16 games.

Travis d’Arnaud C, Rays

After hitting .283 with 13 homers, 44 RBIs, 37 runs and a .891 OPS over his first 55 games with the Rays, he entered Saturday hitting .174 with no homers, three RBIs and a .433 OPS over his past 13 games.

Chase Anderson SP, Brewers

Entered his start Saturday having not picked up a win since July 17, going 0-1 with 6.07 ERA and .272 opponent average in his past six starts. His ERA took a hit after he allowed 10 earned runs last Sunday.

Check swings

Sonny Gray has allowed more than three earned runs in a start just three times in 25 starts, and is 9-2 with a 2.28 ERA and .197 opponent average since picking up his first victory of the season on May 21. In his first four starts this month, he is 3-0 with a 0.38 ERA, .136 opponent average and 34 strikeouts.

Bryce Harper (on paternity leave) had nine homers and 20 RBIs in his first 19 games this month. He was hitting .360 with five homers in his previous seven games.

Clayton Kershaw has looked like, well, Clayton Kershaw lately — going 6-0 with a 1.76 ERA, .182 opponent average and 65 strikeouts over his past six starts. Not pitching like Kershaw, however, is the Orioles pitching staff. They entered Saturday having allowed an MLB record 261 home runs (61 of which came against the Yankees). Might as well have some of those Little Leaguers come to Baltimore to give it a try since we’ve seen better arms on snakes than most of their current “major leaguers.”

Team Name of the Week

It’s Always Sonny in Philadelphia