It felt like a bit of a flashback, to when offense was a shared responsibility and not some two-man haul. And it was provided by a whole list of hitters and hit batters Tuesday night, once the Washington Nationals, down to their last embers of postseason hope and needing a creative twist on math, again slipped past the first-place Tampa Bay Rays.

The final score, 5-3, reflected an odd and balanced effort. It was also enough for a two-game sweep that inched Washington to 16-25 on the heels of winning four of five. The bats were opportunistic, if nothing else, turning a handful of mistakes into lasting damage. Aníbal Sánchez made it five-plus innings before the bullpen phone rang. Then Wander Suero was erratic, letting the Rays sniff a comeback, before Sean Doolittle, Tanner Rainey and Daniel Hudson shut them down with three scoreless innings.

A combination of two two-out doubles, two RBI groundouts, a bloop RBI single, a sacrifice fly and four hit batters was how the Nationals grabbed a lead that held.

“The little things matter,” said Manager Dave Martinez, reshaping one of his favorite lines. “I’ve been saying that for years. They’re doing the little things, and we’re scoring runs.”

No game passes without reminders of the circumstances. The stands are still empty amid the novel coronavirus pandemic. The dugouts are still filled with masks. To make the 16-team playoff field, the Nationals would have to do almost nothing but win from here, then cross their fingers for the clubs ahead of them — the Colorado Rockies, the Milwaukee Brewers, the New York Mets, the Cincinnati Reds, the San Francisco Giants, the Miami Marlins — to wilt.

But baseball makes promises, even in down times, even to teams with a microscopic shot to play past the end of September. This summer has often offered the chance to try again tomorrow. Sánchez had another chance to turn his season around. The Nationals’ offense, a mix of core players, young players and old players, took its chances against Rays starter Ryan Yarbrough and the bullpen behind him.

“Why not?” Doolittle asked after the win, saying there’s now a familiar feeling in the clubhouse. “This season has been so weird, so unique already, and, I mean, let’s see what we can do. Let’s put our head down and grind these last 2½ weeks out and not worry about what other teams are doing. We’re well aware of the position that we’re in. But keep coming to the field with the same energy.”

Sánchez retired the Rays in order on 12 pitches in the first. He stranded the bases loaded in the second by striking out Michael Perez. After that, his command flickered into focus, his fastball hit its spots and his change-up danced toward the dirt. He was through five scoreless innings on 74 pitches, cruising against the American League’s top team. Then trouble stirred in the sixth, right on schedule.

The 36-year-old yielded a leadoff single to Brandon Lowe, hit Randy Arozarena with a pitch and yielded another single to Ji-Man Choi. Despite a strong throw from right fielder Adam Eaton, Lowe was safe at home by a hair, sliding headfirst ahead of catcher Kurt Suzuki’s lunging tag. That ended Sánchez’s night at five innings plus three batters. He threw 88 pitches and left a mess for Suero.

“I felt really good early in the game,” said Sánchez, whose ERA is 6.34 through eight starts. “I finally figured out my mechanics and how to make the hitter miss my fastball.”

The problem, Sánchez explained, was that his change-up stopped moving like he wanted, and he didn’t put away Lowe when ahead 0-2. His last frame got worse before Suero ended it. Yoshi Tsutsugo tagged Suero with an RBI double before a wild pitch brought in Choi. The lead slimmed but held, with Suero escaping on a lineout to left. The Nationals had an eclectic mix to thank.

It began in the first, when Victor Robles was hit by a pitch, advanced on Eaton’s sacrifice bunt, stole third, then came in on a groundout for Juan Soto, who returned after missing five games with a sore left elbow. It continued in the second with back-to-back two-out doubles for Brock Holt and Carter Kieboom. For Holt, that gave him 11 hits in 17 at-bats since starting 0 for 10 with the Nationals. For Kieboom, it was his first extra-base hit in 78 plate appearances this season.

Next, in the third, two scored on Asdrúbal Cabrera’s sacrifice fly and a single by Josh Harrison. In the sixth, after the Rays pushed back in, reliever Aaron Slegers plunked Kieboom and Robles with no outs. They moved up on Eaton’s second sacrifice bunt. Kieboom scored on Trea Turner’s groundout, a sequence nearly identical to how the Nationals got their first run. They twice plated runs in an inning with no hits.

“That’s a good sign,” Soto said of the scrappy offense. “We’re scoring runs without homers. So when the homers come, we’re going to score more.”

From there, nine outs were quickly tallied.

Doolittle was the best he has been all year, discarding three Rays in order on 10 pitches with two swinging strikeouts. Rainey, having had his lights-out dominance waver in recent appearances, was back to knifing through batters with his slider and high-90s heat. And that left Hudson to finish it off, which he did after allowing a one-out single and nothing else.

By then, more than three hours after this started, the cotton candy clouds were subbed for a pitch-black sky. There was no one around to cheer or head for the Metro. There were just 19 games left for the Nationals, a team with no choice but to play them, no matter the standings or how steep they feel.

More baseball from The Post: