The loss in the first of a three-game series pushed the Nationals below .500 and moved them to 3-5 in June.
After Colorado catcher Wilin Rosario led off the inning with a walk, Tyler Colvin -- called up from Triple-A Saturday -- knocked a two-run homer just inside the right-field foul pole to knot the game up at two.
Haren struck out the next batter and looked poised to end the inning locked in a 2-2 tie. But the Rockies had other ideas.
The inning only got uglier when pinch-hitter Jordan Pacheco singled to center. Dexter Fowler followed with a double, and two batters later, left fielder Carlos Gonzalez powered a Haren offering on the edge of the plate into the left-field bleachers. Suddenly, the Nationals had buried themselves in a three-run hole.
"It's not fun to strike out four times, but this game is hard," said Gonzalez, whose only hit came on the three-run homer. "They've been pitching me tough. But sometimes all I need is one mistake, and he made one mistake."
That inning proved enough to end Haren's night, as he finished with five earned runs, six strikeouts and a walk in five innings. It was Haren's fifth loss over his last six games, with a shaky 6.29 ERA over that stretch.
"I was kind of dumbfounded," Nationals manager Davey Johnson said. "He was really making pitches, he was breezing. In the fifth inning it seemed like he ... lost the feel for the ball. Just seemed like he couldn't locate it from that point on. He was pitching a great ballgame, making all his pitches. I don't know what happened."
Haren said he took the mound Tuesday night focused on command rather than velocity. The right-hander, once one of the more dominant pitchers in the league, has given up 15 homers this year, nearly half of his career-high for a season, 31.
"I just can't keep the ball in the ballpark," Haren said. "That's what it's coming down to. They're good hitters too and they're going to make me pay for my mistakes, but I've never had so much trouble with homers in my career. I got to really try to focus on keeping the ball down and do the best I can."
The Nationals jumped onto the scoreboard first when Denard Span smacked a double off the right-field wall to bring two runs home in the second inning. Back-to-back singles from Anthony Rendon and Kurt Suzuki placed runners on first and second for Span, but the Nationals' offense disappeared as quickly as it arrived.
Whenever Washington seemed to find some offensive energy, the Rockies were there to snatch it away. Rockies starter Jhoulys Chacin's quick glove snagged a line drive from Roger Bernadina to end the second. In the sixth, Anthony Rendon sent a ball deep into center field, but Fowler had just enough room to reel it in as he backpedaled into the wall.
"We did hit some balls hard tonight," said third baseman Ryan Zimmerman, who went 1-for-4. "... It was just one of those nights. But we got to score more runs, and I think that's kind of what we've said all year."
Chacin, who battled a cold all game, was steady over five innings, allowing two earned runs, seven hits and two walks while striking out two.
In the eighth inning, Ian Desmond pulled a one-out single into left field to score Jayson Werth, extending his career-high hitting streak to 13 games and setting the stage for a rally.
But even that flamed out, and no Washington hitter had more than one hit. The next two batters both grounded out and with it faded the Nationals' hope of building on the momentum of two wins over the Twins Sunday.
"You want to get a rally going, you always want to feel like that," Suzuki said. "But they made pitches and they got out of it."
Nationals relievers Erik Davis and Fernando Abad surrendered only two hits over two innings.
However, things did not go as smoothly in the eighth for Drew Storen.
After Storen allowed a leadoff single, Colvin knocked a 93-mph sinker from Storen into the first row of seats in left field to make it 7-3 Rockies. It was Colvin's second multi-homer game against the Nationals -- the first came on July 6, 2012 -- and the fourth of his career.
A nice grab from Desmond to turn the double play later in the frame saved the Nationals from an even deeper deficit.
Washington had to settle for small victories Tuesday, like Werth's fully-extended diving catch in right field -- saving a run in the sixth -- and Rendon reaching base safely for the 10th straight game.