Kenny Cooper and Marco Pappa didn’t start for the Seattle Sounders, but they sure finished.

Cooper’s header in the 111th minute on Wednesday, and Pappa’s goal five minutes later, gave the Sounders a 3-1 overtime victory over Portland in the U.S. Open Cup quarterfinals at Starfire Stadium in Tukwila.

The match was sent into overtime after a last-second goal in stoppage time from the Timbers’ Darlington Nagbe, after Seattle had held a 1-0 lead for 20 minutes.

Osvaldo Alonso took a cross from Lamar Neagle and contorted his body to send a low shot past Portland goalkeeper Donovan Ricketts’ outstretched hand in the 69th minute.

Unlimited Digital Access. $1 for 4 weeks.

“I hit it with my outside foot and, you know, I scored a good goal,” Alonso said.

But in the waning seconds of the three-minute injury time, Portland’s Nagbe sent in a shot of his own, after give-and-go action with Steve Zakuani at the top of the box to tie it up.

“The attitude and response by this team — I didn’t see any heads put down,” Cooper said of the game being sent to overtime at such a late moment. “When we got together, (coach) Sigi (Schmid) instilled a lot of confidence in us, I think. No one ever put their head down, so we kept battling and got the win, which was great.”

The 1-1 score held for the remainder of regulation and sent the teams into two 15-minute overtime periods, where tempers flared early. Portland’s Diego Chara saw a red card for his trip of Pappa in the 98th minute.

Seattle’s late-night heroics against Portland were helped along by a bolstered lineup.

Taking the pitch for the Sounders were several players who missed this past weekend’s 1-0 loss at Vancouver. DeAndre Yedlin, back from national-team duties, started and played through the end of regulation. Alonso and Gonzalo Pineda each returned to the pitch after yellow-card suspensions last week.

At first, all those returns didn’t do much good.

The teams entered halftime locked in a scoreless tie, with choppy play from both sides. Portland had double the amount of fouls (8) as shots (4). The Sounders had four shots as well, with two of those on goal (both by Cam Weaver).

Weaver had three shots total in the first half, including one in the 21st minute that hit the post after a cross pass from Brad Evans.

The lack of offense continued into the second half, until the flurry of goals after the 70th minute.

“It was obviously disappointing because we thought we could win it in regulation but, you know, it meant we had to work extra,” Schmid said. “I told the guys, ‘So we got to do it the hard way, we’ll do it the hard way.’ That’s the way it turned out tonight.”

With the win, Seattle will host the Chicago Fire in the U.S. Open Cup semifinals, scheduled for Aug. 13.

This weekend, the Sounders will switch venues, but not opponents. They’ll take on the Timbers again on Sunday at 7 p.m. at CenturyLink Field, this time as part of the MLS regular season.