Updated

Dax McCarty scored on a header four minutes into extra time to lift the New York Red Bulls to a 4-3 win over Real Salt Lake on Saturday night.

Fabian Espindola scored two goals for New York — both on penalty kicks — and the second came with just two minutes remaining in regulation. Tim Cahill, who recovered from a knee injury suffered early in the game, also scored for the Red Bulls (10-7-5).

New York blew an early 2-0 lead before rallying to gain ground in a tight Eastern Conference race. The top five teams in the conference are separated by a total of seven points.

"It's always important to score to help the team," said Espindola.

Alvaro Saborio scored all three goals for Real Salt Lake (11-7-4), which lost its second straight match but remains in first place in the West.

"It's a really tough loss and it's going to stick with us for a day or so," RSL head coach Jason Kreis said. "We were down two goals at someone else's place. If we came back to win, it would have been historic. But then we lose? I just hope it doesn't have a lasting mental effect on our players."

Red Bulls head coach Mike Petke was at a loss for words after the match.

"I'm still a little light headed now after what went on," Petke said. "It was the agony and the ecstasy with nothing in between. I'm thrilled one second and agonizing the next. But it was a great game to watch and to see it unfold like that is remarkable."

Espindola scored his second goal of the match and sixth of the season after he was pulled down in the penalty box by Aaron Maund. He calmly made the penalty kick to tie the score at 3.

In injury time, McCarty split two defenders to get his third goal of the season and help New York move to 7-2-2 at home.

Saborio's first goal came on a penalty kick in the first half before he added goals in the 80th and 82nd minutes, giving him seven this season.

In the 4th minute, Cahill was taken down from behind by RSL midfielder Yordany Alvarez, falling to the turf in what appeared to be excruciating pain. Alvarez drew a yellow card for the hard foul, but Cahill remained on the ground for at least five minutes, getting medical attention. He later walked off the field but with a noticeable limp. He remained out for four minutes, then returned to play.

"It was the worst tackle of my life, 17 years of playing," Cahill said. "I just watched it again and I don't know how I got up. I took a nasty knock, but for me, it's all about playing. I guess the adrenalin got the best of me."

Thierry Henry placed a perfect feed off a direct free kick from 25 yards out to Cahill's head in the 12th and the Australian knocked it into the net for his sixth goal of the season.

RSL's rough play cost them again in the 23rd minute. Defender Kenny Mansally pulled down Brandon Barklage in the penalty area and referee Silviu Petrescu awarded the Red Bulls a penalty kick. For a change, Espindola took the free kick, faking left, then chipping an easy shot into the net for his fifth goal of the season, giving New York a 2-0 lead.

In the 32nd minute, RSL had its first real chance of the match when Javier Morales took a free kick from 25 yards out. The ball skipped once on the turf, but Luis Robles made a diving stop to prevent the score.

In the early going, RSL's physical play drew eight fouls to just one for the Red Bulls.

Henry had a golden chance to make the score 3-0, eluding two defenders to get a shot that bounced off the right goalpost. The rebound came right back to Henry, but the shot was stopped by a diving Nat Borchers in the 38th minute.

Real Salt Lake got on the board in the closing minute of the first half. Red Bulls defender Markus Holgersson pulled down Olmes Garcia in the penalty box and RSL was awarded a penalty kick. Saborio easily faked out Robles on the PK and RSL sliced the lead in half at 2-1.

RSL had a golden opportunity to tie the game in the 68th, but Olmes Garcia's right-footed blast from five yards out was punched aside by Robles.