Nick Markakis hit an RBI double in the third inning and Manny Machado doubled in a run in the eighth for the Orioles, who took three of four from the Nationals in a home-and-home series that began Monday in Washington.
Making his sixth start for Baltimore, Garcia (2-2) struck out six, walked none and permitted only two runners past first base. The 36-year-old retired 17 of the first 19 batters he faced, including 14 straight after Adam LaRoche and Ian Desmond each singled to open the second inning, and concluded his performance with seven consecutive outs.
"When it's hot like that," Garcia said, "the splitter's pretty good."
The Nationals went down in order in six of eight innings against Garcia, who changed his jersey two or three times during the course of the game, according to Orioles manager Buck Showalter.
"I think with the humidity, his fingers probably had a little sweat going on there," Desmond said. "That (split) was pretty unbelievable tonight, and he threw it a lot. He must have thrown 60 percent split fingers, which is very out of the ordinary."
Signed as a free agent by Baltimore in late March, Garcia toiled in the minors until being summoned by the Orioles on May 4. He has proven to be a very welcome addition to a team striving to reach the playoffs for a second straight season.
"He had his 'A' game today," Machado said. "He brought out what he could do for this ballclub to help us win. He pitched a (heck) of a game, had all his pitches right."
Jim Johnson worked a perfect ninth for his 17th save, the second in two nights.
Haren (4-6) allowed two runs and eight hits over 7 1/3 innings but absorbed his third straight loss. The 32-year-old struck out five and walked none.
"I threw the ball well, but obviously I'm not happy with the end result," he said.
The pitching duel came after the neighboring teams combined for 35 runs, 65 hits and 14 homers in the previous three games.
"Both pitchers threw really, really well tonight," Baltimore's Nate McLouth said. "I don't think there was a walk in the game. That shows you, if you throw strikes, what can happen. They both pitched amazing."
The Orioles went up 1-0 in the third inning when Ryan Flaherty singled, took second on a single by Machado and scored on a two-out double by Markakis. Haren then struck out Adam Jones with runners at second and third.
"I was walking the tightrope in that one inning and made a good pitch to Adam Jones to get out of it," Haren said.
Washington, meanwhile, got only one runner past first base in the first six innings. In the second, after the singles by LaRoche and Desmond, both runners advanced on a groundout by Tyler Moore. Chad Tracy followed with a short fly ball to left and Kurt Suzuki popped out.
That began Garcia's run of 14 successive outs. It ended when Roger Bernadina singled with two outs in the sixth, but Ryan Zimmerman followed with a harmless grounder to second base.
In the eighth, McLouth hit a bloop to short right field and hustled into second for a double. Machado then chased Haren with a sharp grounder inside the third base line, his league-leading 25th double.
Baltimore's Chris Davis went 0 for 3, ending a run of eight games in which he got a hit and scored a run. He was 18 for 30 with six homers during that span. ... Washington opens a three-game series against NL East-leading Atlanta on the road Friday. Stephen Strasburg gets the start for the Nationals. ... Baltimore begins a three-game set against the visiting Detroit Tigers on Friday night. Miguel Gonzalez (2-2) will pitch for the Orioles, and the Tigers will start Max Scherzer (7-0). ... Nationals OF Jayson Werth (hamstring strain) began his rehab assignment Wednesday by playing three innings for Class A Potomac. He was expected to go five innings on Thursday. ... Orioles C Taylor Teagarden (dislocated thumb) will begin a rehab assignment with Triple-A Norfolk on Friday.
Copyright by STATS LLC and The Associated Press
BALTIMORE, MD - MAY 30: Ross Detwiler #48 of the Washington Nationals looks on before a baseball game against the...
30,665 (66.7% full) - % is based on regular season capacity
87 degrees, partly cloudy
Home Plate - Mike Estabrook, First Base - Phil Cuzzi, Second Base - Tom Hallion, Third Base - Ron Kulpa
* Success away: hitters were 2-for-21 with 4 K vs pitches on the outer half. Ironically his K% of 11% on pitches in that zone is his lowest since 2009.
* Good splitter: 5 of his 6 K came from that pitch, tied for his 3rd-most since 2009. Since 2009 his 139 K using a splitter is 5th in MLB among starters.
* Got ahead: threw 21 1st-pitch strikes, tied for his 4th-most since 2009.