Real Salt Lake ended Sporting Kansas City's five-match winning run with a 2-1 victory in Utah on Friday.
Javier Morales' opener had been cancelled out by Benny Feilhaber, but a Joao Plata penalty sealed victory for the hosts at the Rio Tinto Stadium.
Sporting had won five straight matches in all competitions heading in, and the loss meant they missed their chance to briefly go top of the Western Conference.
Instead, they remain fourth while Real Salt Lake stay seventh but close to within three points of the sixth-placed Portland Timbers.
Morales made it 1-0 to the hosts with a fine opening goal in the 34th minute.
Sebastian Jaime nodded down for the veteran Argentine midfielder and he broke through the heart of the Sporting defence before finishing smartly.
Sporting had to wait until early in the second half to equalise and it came thanks to a tremendous strike from Feilhaber.
He took a pass from Roger Espinoza before making space for himself and shooting into the top corner from 35 yards.
Real would find their winner via the penalty spot with 17 minutes remaining.
Substitute Olmes Garcia surged into the area and Sporting goalkeeper Tim Melia, rushing out, brought him down.
Plata made no mistake from the penalty spot, finding the bottom corner despite Melia guessing the right way.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.