Denard Span extended his hitting streak to 26 games, Bryce Harper hit a pair of doubles and a single and scored three times, and every player in the Nationals' starting lineup had at least one hit.
Washington, which began the day 5½ games behind Cincinnati for the NL's second wild-card berth, has won eight of nine and 25 of 35.
Zimmerman (18-8) scattered seven hits and single runs in the second and third innings with seven strikeouts.
Washington took the lead for good with three runs in the fourth off Tyler Cloyd (2-5), starting with back-to-back doubles by Harper and Ian Desmond. Harper added his third outfield assist in the three-game series when he caught Darin Ruf trying to stretch a single off the left-field wall into a double in the sixth.
Ramos' four hits and five RBIs tied career-highs; he has 49 RBIs in 54 games since coming off the disabled list.
Span singled up the middle in the third to extend his hitting streak, which of Colorado's Michael Cuddyer for longest in the majors this season. Ramos started his 23rd consecutive game at catcher, passing St. Louis' Yadier Molina for most starts in a row behind the plate in the majors this year.
Washington went 9 for 13 with runners in scoring position; the Nationals began the day with a .239 RISP average, 25th in the major leaguers.
Four Nationals players got hits leading off innings, and each time the player scored - including a homer by Ramos to lead off the sixth.
Washington added five runs in the seventh off Joe Savery and Mauricio Robles.