Both sides started out with a number of shots from distance, but were unable to find the target before Matteo Ferrari diverted the ball into his own net after just seven minutes.
Olmes Garcia for Real then had a shot of his own saved in what was an end-to-end opening 45 minutes.
Then as the half was drawing to a close Justin Mapp found Felipe Martins, who slammed in the equaliser.
In the second half it still could have been anyone's game, but Salt Lake edged ahead once more in the 77th minute through a strike from Kyle Beckerman.
This time the lead lasted just three minutes as veteran Marco Di Vaio scored his side's second equaliser.
In a dramatic finish Ferrari netted at the right end in stoppage time to steal all three points for Impact.