Harper, who missed 57 games because of a torn ligament in his left thumb, went 1 for 3 with an RBI single -- on Bryce Harper bobblehead night.
"Having such a deep lineup's huge," Harper said. "One through eight, pick your poison because you're going to get a guy who can hit the ball out of the ballpark or hit a double or anything like that."
Jordan Zimmermann (6-4) allowed two runs in six innings as Washington won its third straight.
The Nationals trailed 2-1 before a five-run sixth. With runners on first and second and one out, Zimmerman doubled to left off reliever Rod Scahill, scoring Anthony Rendon.
"I tried to go in on Zimmerman, I missed two times in," Scahill said. "The third time in, it was a little bit more down than I wanted it to be and that's where he can get to that ball. And he got to it."
Harper was walked intentionally and Desmond followed with a bases-clearing double into the left-field corner.
"That's the kind of decision-making and pressure we want to apply," manager Matt Williams said. "Bryce is a very good hitter, he'd come through earlier in the game against the lefty for a base hit and an RBI and those are the decisions you have to make in that regard."
Monday night marked the first time since opening day -- when catcher Wilson Ramos left the game with an injury -- that this starting eight had taken the field.
Desmond is 6-for-6 with the bases loaded this season and, for his career is 11-for-17 with 16 RBIs when the batter before him is walked intentionally.
"I just try to do the same thing I do every other time," said Desmond, who stole third and scored on Ramos' grounder to second.
Zimmermann, who finished June with a 3-2 record and a 1.43 ERA in six starts, allowed seven hits, struck out five and walked one. He'd been a victim of poor run support while going 0-2 in his last three outings.
"I'm just locating really well right now," he said. "Nothing really has changed, just locating well and the slider's really good. (If) I have those two things working together, I can usually string some pretty good starts together."
Justin Morneau had three hits for the Rockies, who have lost 12 of 14 and finished the month of June 8-20.
Yohan Flande (0-1), making his second start, was charged with three runs on six hits. He left with a 2-1 lead and runners on first and second in the sixth.
"I think Flande was throwing the ball really well, but the first two guys got on in the inning," manager Walt Weiss said. "A guy making his second major league start, you want to be out in front of stuff before it happens to a kid like that.
"Wasn't real comfortable with the Zimmerman matchup and went and tried to play a matchup that didn't work out."
Harper, batting sixth and playing left field, was given a standing ovation when he batted in the second after LaRoche's one-out single, but grounded into a double play.
In the fourth, however, after Zimmerman doubled with two outs, Harper brought him home with a sharp grounder up the middle.
"It's a strong lineup and I don't think there's too many opposing pitchers out there that want to see it," Desmond said. "It was nice to have Bryce back."
The Rockies took a 2-1 lead in the sixth on back-to-back doubles by Drew Stubbs and Troy Tulowitzki, a line-drive single by Morneau that moved Tulowitzki to third, and sacrifice fly by Ryan Wheeler to short center.
To make room for Harper, the Nationals optioned LHP reliever Xavier Cedeno to Triple-A Syracuse. ... Colorado placed RHP Jhoulys Chacin (inflamed shoulder) on the 15-day DL. Manager Walt Weiss said Franklin Morales will make Chacin's scheduled Thursday start, giving the Rockies five left-handers in their starting rotation. The Rockies recalled RHP reliever Chad Bettis from Triple-A Colorado Springs. ... Rockies OF Corey Dickerson, who left Sunday's game with a hamstring cramp in the eighth inning, was not in the starting lineup, but entered as part of a double switch in the sixth. ... Washington's Stephen Strasburg (6-6, 3.70) opposes Christian Friedrich (0-2, 8.10) Tuesday.