MLS Wrap: Salt Lake strike late to put out Fire
Ecuadorian forward Joao Plata struck the winner for Real in the third minute of second-half stoppage time, volleying Alvaro Saborio's cross into the net from close range to keep the Utah-based club within touching distance of Western Conference leaders Seattle Sounders.
Chicago had led 2-0 at half-time but fell apart in the closing stages to extend their winless streak to four games.
The loss left the Fire bottom of the Eastern Conference with just six points - all from draws - this season, while Real (17 points) moved up to second in the West, two behind Seattle, who also came from behind to clinch a 2-1 win against Philadelphia Union.
The Fire took the lead in the 22nd minute in Chicago through Mike Magee, who tapped home the rebound after Real's Nick Rimando could only parry Harrison Shipp's low driven effort.
On the half-hour mark, Juan Luis Anangono doubled the Fire's advantage with a diving header, converting Greg Cochrane's cross from the left.
The chances continued to flow with Plata forcing Chicago goalkeeper Sean Johnson into a fine save before the break, while the hosts hit the bar just after the hour-mark.
Real started their comeback in the 72nd minute when Plata scored into the bottom corner after finding a pocket of space on the edge of the area, but the visitors had to wait until the last minute of regulation to equalise.
With Chicago pushed back, Real attacked down the left and Olmes Garcia's cross somehow found its way to Saborio at the back post, who controlled the ball with his thigh and then thumped it into the net.
The visitors completed their comeback three minutes later through Plata, who handed Real their fourth win of the season.
In Seattle, Philadelphia needed a stroke of fortune to open the scoring with Sounders midfielder Brad Evans touching the ball past his own goalkeeper from a Union free-kick.
With five minutes remaining in the first half, Seattle were given a penalty when Amobi Okugo handled the ball in the box but Osvaldo Alonso's spot kick was parried by Zac MacMath onto the post and out.
But the West's leaders managed to recover and clinch three points with Obafemi Martins equalising in the 61st minute from close range, and Chad Marshall headed home the winner from a corner with six minutes left.
In a day of late drama, Maxi Urruti scored in the fourth minute of second-half stoppage time to clinch a 3-2 win for Portland Timbers over DC United.
Houston Dynamo thrashed Chivas USA 4-1 thanks to a brace from Giles Barnes, Colorado Rapids triumphed 1-0 over Los Angeles Galaxy and Vancouver Whitecaps held on for a 3-2 victory against San Jose Earthquakes.