"I just think it was an important result against a very good team in their stadium," said Jason Kreis, a former Dallas Burn star who played his final three years for Salt Lake before becoming its coach in 2007. "Right now, we're in first place, they're in second and I think that's where the importance lies. It's good, because I've never won a game here. Even when I was playing, we'd come back and we'd get beaten, so it feels good."
Real Salt Lake (11-5-4) is unbeaten in its last eight games. Josh Saunders and Jeff Attinella made three saves each for RSL with Nick Rimando away on national team duty. Saunders had to leave in the 50th minute due to a knee injury, and Attinella made his MLS debut.
Salt Lake was 0-11-2 at Dallas and 0-8-1 in Houston.
"We've been on a good roll, we've been playing well and finishing our chances, defending well, so I think we were due," said Salt Lake defender Nat Borchers, who has been with the club since 2008. "It feels great to come down here and get our first league win. We're playing great right now and we just want to keep it going."
Dallas (8-5-7) is winless in its last seven games, with just four points, and lost at home for the first time this season.
Grabavoy's fourth goal of the season made it 2-0 in the 79th minute and Garcia, who didn't enter the match until the 70th minute, tacked on his fifth of the year in the 90th to seal the victory.
"You've got to be pretty disappointed because I thought we played well enough to win the game and then you look at the margin of difference in score," Dallas coach Schellas Hyndman said. "It wasn't a 1-0 game. It was that we gave up soft goals and then we didn't score our chances. So for us, I think it's time to make some changes."
After Dallas controlled most of the action through the first half, Salt Lake seized the lead in the 39th minute on Morales' fifth goal of the season. On the counter-attack following a Dallas free kick keep in Salt Lake territory, Morales swept in off the left wing, popping a low shot between the legs of Dallas defender Zach Loyd from eight yards out that rolled just inside the far post.
Garcia put the finishing touches on the game when his shot from 15 yards out bounced through several bodies and beat the diving Fernandez just inside the right post.
Dallas had the match's first scoring chance in the 11th minute, when Fabian Castillo drilled a 10-yard shot that forced Saunders to made a solid save, punching the ball just over the crossbar.
Saunders made another big stop in the 29th minute, diving to his left to stop Castillo's 18-yard blast.
Saunders was first hurt in the 41st minute after leaping up for a ball and then landing awkwardly. After staying down for a bit, Saunders stayed in the game, but didn't take any more goal kicks for the remainder of the first half.
It was after his first goal kick of the second half, in the 49th minute, that he went down again clutching his left knee again, that he finally came out.
Castillo will be suspended for FC Dallas' next contest for yellow card accumulation after being shown one in stoppage time.
International duty prevented each team from fielding a full lineup, as Dallas was without forward and leading scorer Blas Perez (Panama), while Salt Lake missed Rimando, star midfielder Kyle Beckerman, defender Tony Beltran (all USA) and forward Alvaro Saborio (Costa Rica).