The Nationals prevented idle Atlanta from clinching a share of the National League East title and moved within five games of Cincinnati for the league's second wild card berth.
Gio Gonzalez (11-7) held the Marlins to two runs on seven hits over six innings to get the win. Three relievers combined to give up two hits the rest of the way with Rafael Soriano working around a pair of ninth-inning walks for his 42nd save.
Henderson Alvarez (4-5) took the loss, surrendering three runs on seven hits over five innings.
Wisconsin business offering 'therapeutic cuddling' forced to close
Reindeer recovered after escaping from Santa during lighting ceremony