PORTLAND, Oregon - Earlier this week, Sounders FC goalkeeper Kasey Keller opined that it takes heart to win in a derby game.

On Sunday at Jeld-Wen Field the Sounders showed that they were the team with the stronger heart when they came from behind twice to top the Portland Timbers 3-2, extending their unbeaten streak to eight consecutive matches.

“When you come back twice and take the lead, it shows you what’s going on with this team right now,” Keller said.

With a sellout crowd of 18,627 on hand that included over 800 traveling supporters, the Sounders improved to 9-4-8 (35 points) and jumped to second place in the Western Conference standings, trailing only the LA Galaxy (10-2-9, 39 points).

Fredy Montero scored twice and Osvaldo Alonso added the decisive goal on a penalty kick as the Sounders rallied in the second half to win the season series against the Timbers and put them in position to win the Cascadia Cup with a win in Vancouver in September.

“We worked hard today. It was end-to-end and it felt like we did enough to get the win,” defender Jeff Parke said. “I thought we outworked them.”

After a scoreless first half, the Sounders center backs were hit with a double-dose of misfortune in a seven-minute span to start the second half.

Right as the second half got under way, Kalif Alhassan got out on a run up the right side and crossed the ball into the box for Jorge Perlaza. Parke beat him to the ball at the near post, but redirected it past Keller and into the net for an own-goal and a 1-0 Portland lead in the 46th minute.

In the 53rd minute, Jhon Kennedy Hurtado went in on a tackle and injured his right knee in the process. He was replaced soon after by Patrick Ianni and will be further evaluated in Seattle.

As Ianni entered the field to replace Hurtado, Montero was lining up a free kick from 27 yards out. He took a quick approach and shot over the top of the five-man Portland wall, sneaking the ball just inside the left post past Portland goalkeeper Troy Perkins for his fourth goal of the season to even the score in the 57th minute.

The lead wouldn’t last long though.

In the 69th minute Diego Chara pushed the ball up to Jorge Perlaza on a run over the midfield stripe. The Seattle defense caught up to Perlaza, but not before he was able to shoot from the right side, deflecting his shot off Tyson Wahl’s outstretched leg and past Keller to make it 2-1 in favor of the Timbers.

At that point the Sounders turned to the speed of second-half substitute Lamar Neagle to carry them past their rivals. With the Timbers pinned back in their own end, James Riley sent a ball over the top of the box to Neagle in the left corner. Neagle switched to his right foot and passed to Mauro Rosales back on the right side. Rosales volleyed the ball back to the middle of the penalty area, where Montero was there to tap in the pass off a bounce for his second goal of the game and team-leading fifth on the season to knot the game at 2-2.

“The emotional lift getting that goal back as early as we did was really important,” Sounders FC head coach Sigi Schmid said. “If we had to keep battling for 10 or 15 minutes longer to get that goal back, it would have given them a better chance at things. But to be able to come back right away both times and score is what made the game a little bit easier for us.”

In the 83rd minute, the Sounders put the Timbers down a goal and down a man when Neagle outran Eric Brunner into the box to get to a lobbed pass from Alonso. Brunner had no defense but to take out Neagle and was called for the penalty and was shown a red card for denying a goal-scoring opportunity.

Alonso slotted the penalty past Perkins for his third goal of the season and the Sounders took the 3-2 lead.

Montero nearly netted his third goal of the match in the 87th minute when he headed a ball down from Rosales, but Perkins was able to swat it off the line.

The Sounders wouldn’t need the insurance goal though and finished with their fifth win in the last eight matches to go with three draws, and their second straight win that came in comeback fashion.

“I think we’ve matured. I think we’ve grown. We don’t let a setback take us down,” Schmid said. “It’s definitely a nice win. It was what a derby game is all about.”

The Sounders will host the Colorado Rapids on Saturday at CenturyLink Field, but first will meet the LA Galaxy in the quarterfinals of the Lamar Hunt US Open Cup Wednesday night at Starfire.

Scoring

Sounders FC - Fredy Montero 57; Fredy Montero (Mauro Rosales, Lamar Neagle) 74; Osvaldo Alonso (PK) 83.

Timbers - Own goal (Jeff Parke) 46; Jorge Perlaza (Diego Chara) 69;

Discipline

Sounders FC - Fredy Montero (caution) 58; Osvaldo Alonso (caution) 63; Mauro Rosales (caution) 78.

Timbers - James Marcelin (caution) 56; Eric Brunner (ejection) 81.

Lineups

Sounders FC - Kasey Keller, James Riley, Jhon Kennedy Hurt ado (Patrick Ianni 56), Jeff Parke, Tyson Wahl, Mauro Rosales, Osvaldo Alonso, Erik Friberg, Alvaro Fernandez (Lamar Neagle 66), Roger Levesque, Fredy Montero (Pat Noonan 88).

Timbers - Troy Perkins, Steve Purdy, Eric Brunner, Mamadou Danso, Rodney Wallace, Darlington Nagbe (Sal Zizzo 64), Jack Jewsbury, James Marcelin, Kalif Alhassan, Diego Chara, Jorge Perlaza (Kenny Cooper 75).