Giancarlo Stanton, who entered Tuesday with one homer this spring, delivered two home runs. Chris Valaika added a solo shot, and Chris Coghlan belted a game-tying, two-run homer.
The Marlins relied on the long ball to overcome two errors and a wild pitch that enabled the Nationals to build a 4-2 lead entering the bottom of the fifth inning.
Roger Bernadina connected on a home run for the Nationals, which tied the game at 5 in the seventh inning.
But in the bottom of the seventh, the Marlins scored three runs. Polanco delivered a two-run single, and Justin Ruggiano added an RBI double.
Haren worked six innings, giving up five runs on seven hits, and four homers.
Miami right-hander Henderson Alvarez pitched five innings, giving up four runs, with only one earned. He struck out seven.
A pair of solo home runs gave the Marlins an early lead.
In the first inning, Stanton connected on an opposite-field shot to right field. Valaika homered to left in the second inning.
The Nationals rallied back with two runs in the third inning, with one unearned. Kurt Suzuki led off with a single, and Alvarez was able to get two quick outs, but he was hurt by a walk to Jayson Werth. Bryce Harper delivered a run-scoring single, putting runners on the corners.
Washington pulled even when Ryan Zimmerman tapped a grounder to second, which was bobbled for an error by Valaika.
Up next: The Marlins travel to Fort Myers on Wednesday to face the Red Sox at 1:05 p.m. ET. Kevin Slowey, named the fifth starter, gets the nod for Miami. Boston is starting lefty Jon Lester. John Maine, in the mix for a long relief spot, and Casey Kotchman, the frontrunner to play first base, are making the trip.