PORTLAND, Oregon — Goalkeeper Adam Kwarasey kept the Portland Timbers alive in the playoffs with both a shot and a save.
In an 11-round penalty shootout, Kwarasey nailed his shot before deflecting Sporting Kansas City keeper Jon Kempin's chance, giving Portland a 7-6 advantage after a tense 2-2 draw Thursday night.
"It was like a movie," Kwarasey said. "I didn't expect it to go to penalties. I didn't expect to take a penalty. I'm still a little bit exhausted. It's a wonderful feeling."
The knockout-round victory was Portland's fourth straight win. The Timbers will host Vancouver in the first of a two-legged playoff on Sunday.
Rodney Wallace scored in the 57th minute to put the Timbers in front, but Kevin Ellis scored the equalizer for Kansas City in the 87th minute and the match went to extra time.
After Krisztian Nemeth's top-corner goal in the 97th minute, Maximiliano Urruti answered in the 118th, and the match went to penalty kicks.
Sporting appeared to take the upper hand in the shootout after Kempin stopped Alvas Powell's effort. But rookie Saad Abdul-Salaam's shot unbelievably bounced off both posts and out of the goal, sending the crowd at Providence Park into a frenzy.
"It was a wonderful game. Great showcase for the league. Lots of drama. Goals. Physicality. Tension," Portland coach Caleb Porter said. "Everything you want rolled into one."
It was Portland's first victory in five overall matches against Kansas City, which was making its fifth straight appearance in Major League Soccer's postseason.
Portland finished the regular season 15-11-8 for third in the Western Conference. The Timbers won their final three games, outscoring opponents 10-3, including a 4-1 victory over Colorado on Sunday.
Sporting, which won the U.S. Open Cup this year, beat Los Angeles 2-1 in the regular season finale to finish 14-11-9 and secure the last playoff spot in the West.
It is Portland's second appearance in the playoffs since joining the league in 2011. The Timbers finished with the West's best record in 2013, but fell in the two-legged conference final to Real Salt Lake.
Kansas City won its last MLS Cup that season, defeating Salt Lake on penalties after a 1-all draw. The team also won the league championship in 2000.
Portland and Kansas City had never met in the playoffs.
"Look, it's always disappointing when you lose," Sporting coach Peter Vermes said. "But our effort in the game — to come in here, be down 1-nil, come back, overtime — it says a lot about our guys, the way we play, the way we fight."
The Timbers were without dynamic midfielder Diego Chara, who was injured last weekend in the second half of the victory over the Rapids. The exact nature of the injury was not known. Jack Jewsbury got the start in Chara's place.
After a scoreless first half, Portland broke through in the 57th. With Diego Valeri tying up defenders in the box, Wallace ripped a shot into the back of the net. It was his second goal of the season.
Sporting goalkeeper Tim Melia was knocked in the head in the 69th and there was a delay for several minutes. With a cut to his face, Melia was later subbed out and replaced by Kempin.
Melia had been fantastic this season against the Timbers, with a career-high seven saves in a scoreless draw at Providence Park, then with six saves in Sporting's 1-0 victory in Portland earlier this month.
Ellis headed Graham Zusi's perfect serve to tie it before Nemeth fooled a Portland defender and right-footed a goal into the top corner.
On Oct. 3, Nemeth came off the bench to score in the 83rd minute, giving Kansas City a 1-0 victory over Portland. The previous two meetings between the teams this season ended in scoreless draws.
Portland hadn't defeated Sporting since a 3-2 win in Kansas City in 2013. Portland's last victory in the series at home came in 2012.