Josh Willingham homered; Joe Borchard had three hits and one RBI; and Cabrera, Hanley Ramirez and Dan Uggla all scored three runs for the Marlins (8-18), who swept the two-game series after losing five in a row.
Winning pitcher Josh Johnson (2-2) gave up two runs and one hit in five innings with three walks and four strikeouts.
Jose Guillen had a hit and scored twice, starting pitcher Livan Hernandez had a hit and two RBI, and Ryan Zimmerman had a hit and an RBI for the Nationals (9-20), who have lost five of their last six games.
In five innings, Hernandez (1-4) surrendered seven hits and six runs in five innings with four walks and three strikeouts.
Dennis Rodman pledges to end trips to North Korea
Interpol investigating stolen passports on missing flight