A day before the all-star break, a four-day reprieve from baseball that cannot come soon enough for the Washington Nationals, their maddening season reached a nadir — all in a span of three innings against the Miami Marlins, a rebuilding team with one of the worst records in the league.

The Nationals limped off the field after a deflating 2-1 loss. Bryce Harper, author of the Nationals’ only run, was already in the dugout after being ejected for arguing balls and strikes in the eighth inning.

Rafael Soriano blew a save by serving up a monstrous tying home run to Giancarlo Stanton in the ninth. Chad Tracy, inserted into the game as part of a 10th-inning double switch, let the frame’s leadoff runner reach with a two-base throwing error. Craig Stammen walked a batter, and eventually the Nationals had to load the bases to set up a double play that they didn’t turn in time.

The loss dropped the Nationals (47-47) to .500 yet again and seven games behind the NL East-leading Atlanta Braves.

“That’s a tough one,” Manager Davey Johnson said.

Indeed, the loss was difficult to swallow. The Nats’ mistakes and lack of offense rendered moot Dan Haren’s best start since May.

Haren threw six scoreless innings, yielding just three hits and a walk while striking out seven and outdueling impressive Marlins rookie Jose Fernandez. It was another encouraging step in Haren’s second start since returning from the disabled list, as he’s a player’s whose progress could, in part, help determine the Nationals’ second-half fortunes.

After Haren exited, Drew Storen and Tyler Clippard held Miami at bay in the seventh and eighth innings, respectively. Soriano entered in the ninth inning with a 1-0 lead and a string of 12 straight converted save chances. The first batter he faced was Stanton, who has feasted on Nationals pitching throughout his career. He clobbered a 2-1 fastball, sending it 430 feet from home plate and into the bar above the left field dance club.

The Nationals still had a chance, but in a crucial spot in the 10th inning Harper was unavailable. Pinch-hitter Tracy singled to right to lead off the inning. The Marlins cut him down at second on Denard Span’s sacrifice bunt attempt. Ian Desmond then singled, and a wild pitch by Steve Cishek moved both runners moved up a base. Up came Scott Hairston with one out, batting in Harper’s spot. Cishek struck out Hairston and then Ryan Zimmerman.

“We gotta have our three-hole hitter in the game right there,” Desmond said. “As simple as that. The person that hits three-hole is usually your best hitter. One of your best hitters. Usually the best. And there’ s no doubt that his skill set is there. But you cannot [get ejected] in a one-run ballgame.

“We need that game. That’s the game you have to stay in no matter what. Sometimes you gotta bite your tongue. We all get bad calls called against us. I didn’t look at the replays or anything like that. You gotta stay in the game. You have to. For your team.”

Johnson had inserted Tracy into the game to pinch-hit to start the 10th and, in the bottom of the inning, he took Zimmerman’s spot at third base as part of a double switch. The piece of strategy backfired. Adeiny Hechavarria opened the inning with a routine grounder to Tracy, who threw into the seats along the first base line. Tracy normally pinch hits, but Johnson called for him to take third base.

“I was prepared,” Tracy said. “I just threw the ball over his head.”

Stammen walked the next batter, Jeff Mathis, and a sacrifice bunt moved the runners over. Justin Ruggiano was intentionally walked to set up a double play, which appeared to be a possibility when Ed Lucas hit a slow roller to second baseman Steve Lombardozzi. He quickly fired to Desmond at second, but Lucas beat Desmond’s relay to first. Hechavarria scored the winning run and the Marlins celebrated on the infield.

“If we didn’t turn it, there was pretty much no chance it could have been turned,” Desmond said. “We did everything right.”

Harper, one of the Nationals’ two all-stars, provided their only run in dramatic fashion. In a matchup of two 20-year-old all-stars, Harper drew a leadoff walk in the fourth inning off Fernandez. He reached third on a single by Adam LaRoche. Jayson Werth then lifted a pitch into center field.

Marcell Ozuna fired home and Harper raced to the plate. Ozuna’s throw skipped once on the infield grass to where catcher Mathis was positioned. Mathis, perhaps sensing Harper’s imposing frame just on him, missed the ball and Harper lowered his right shoulder into the catcher. Both players’ helmets flew off. Mathis bounced backward. Harper’s left leg landed on home plate and provided the only run the Nationals’ meager offense could produce. But it wasn’t the last time Harper would be heard from at the plate.

Harper jawed briefly at home plate umpire Hunter Wendelstedt after getting called out looking in the sixth inning. Two innings later, Harper took a close 0-2 pitch and was punched out. Harper immediately threw up his arms and waved them angrily. Wendelstedt ejected him. Johnson ran out from the dugout to grab Harper. It was third ejection of Harper’s career.

“He took the bat out of my hands the first time and the second time,” Harper said.

The Nationals would later lose, with one of their best players on the bench, coughing up late-game home runs, making crucial errors and falling yet again to mediocrity.