PORTLAND, Ore. — Kei Kamara and Cristian Techera scored for the Vancouver Whitecaps in a 2-1 Cascadia Cup victory over Portland on Saturday night, snapping a 15-match unbeaten streak for the Timbers.

Portland (10-3-8) had not dropped a league match since losing 3-2 at Orlando City on April 8. The 15-match streak was the longest in MLS this season and equaled a franchise record.

"We came in here and we knew what the record was. It's all about that, sometimes, in soccer. You kind of want to spoil the party for somebody else," Kamara said.

The Whitecaps (9-9-6) were without 17-year-old midfielder Alphonso Davies because of a groin injury. Bayern Munich acquired Davies last month for a transfer fee that could, with bonuses, total an MLS record of $22 million. He'll move to the German team after Vancouver's season.

Diego Valeri scored on a second-half penalty kick for the Timbers, who lost at home for the first time this season.

"You want to win every match, especially at home," Timbers coach Giovanni Savarese said. "But you have to know that at some time or some moment that defeat is going to come. I think the most important part is how we react to that defeat."

Kamara put the Whitecaps in front with a header off a free kick in the 14th minute. He celebrated his team-leading 10th goal of the season by doing a little dance in front of the Timbers Army supporters' section with teammate Kendall Waston.

The Timbers had a good opportunity to pull even in the 41st minute, but Valeri's penalty kick went just wide. The reigning league MVP and Portland's top scorer buried his head in his hands after missing the shot.

In the 43rd minute, Techera scored from close range in his 100th MLS appearance.

Valeri got another chance in the 71st minute, this time scoring on a penalty kick against Stefan Marinovic for his ninth goal of the season. His free kick in the 89th minute was slapped away by Marinovic.

Vancouver is in seventh place in the Western Conference, fighting for playoff position.

"It's the summer going into the fall, that's when you need the points and you need the momentum to push you into the playoff race," Kamara said.

Portland was coming off a 3-0 victory over the Philadelphia Union last weekend that gave the Timbers their longest MLS undefeated streak since they also went a record 15 games without a loss in 2013. Portland is the only team with two streaks that long. The longest unbeaten streak is 19 games, set in 2010 by Dallas.

The Timbers, who sit in third in the West, had not lost at home in 16 regular-season matches dating to last season.

Earlier this week, the Timbers acquired defender Jorge Villafana from Santos Laguna of Liga MX. The team also got forward Lucas Melano back after a loan to Argentina club Estudiantes. Neither player was available for the match.

The Cascadia Cup is the three-way rivalry between the Timbers, Whitecaps and Seattle Sounders that was started by rivalry groups before the teams joined MLS. It was the first meeting between the Timbers and Whitecaps this season.

The Whitecaps were coming off a 2-2 road draw against NYCFC in MLS play. Vancouver played Toronto FC to a 2-2 draw for the first leg of the Canadian Championship final on Wednesday night. The final moves to Toronto next week.

Vancouver coach Carl Robinson praised his team for holding the Timbers at bay — even with seven minutes of stoppage time added at the end.

"We don't go under. We just hang in there. We're bending but we don't break," Robinson said.