Lindsey Horan scored the only goal five minutes into the second half. (Aaron Doster/USA TODAY Sports)

ORLANDO – Lindsay Horan tallied the lone goal in the 50th minute to lift the Portland Thorns to a 1-0 victory over the North Carolina Courage in the National Women’s Soccer League game at Orlando City Stadium Saturday night.

Portland joined FC Kansas as the only NWSL teams to win two titles. It also captured the 2013 crown.

The Courage out the Thorns, 16-4, but were unable to convert their chances.

“I’m obviously disappointed,” said Courage head coach Paul Riley, who calls Bay Shore, N.Y. on Long Island home. “I thought we played a brilliant game overall. Obviously two early substitutions changed the formation a little bit, but I give a lot of credit to our players who hung in there, outplayed them. I thought we were the better team overall.”

An aggressive Portland side forced Riley to make a substitution early on when Taylor Smith was body checked by Tobin Heath and had to leave the game. A second substitution came in the 38th minute when Kristen Hamilton was also forced to leave the game following a foul from Heath.

“I’m surprised the way Portland played in the first half to be honest with you,” Riley said. “It’s not that type of team. They have some great players and I’d rather see the players play than kick people, but they chose the latter in the first half. At least in the second half, [the] game started. More like a 45-minute game than I think that it was a 90-minute game.”

Portland head coach Mark Parson responded to Riley’s claims.

“I’m making comments off the live game. I thought Tobin received the two worst challenges in the game,” he said. “It was always going to be a physical game. Carolina have built an identity around being physical, being fast, putting pressure on people. And that’s what we were last year, something we’ve continued to develop.”

It was the NWSL Shield winners who had the clearer chances in the first half with Sam Mewis sending a looping shot over Thorns keeper Adrianna Franch only to see the ball bounce of the crossbar in the 14th minute.

As the chippy affair continued, McCall Zerboni sent a cross into the box looking for Lynn Williams who sent the ball barely to the left side of the goal in the 32nd.

Three minutes later Denise O’Sullivan looked to replicate her game winner from the semifinal match as she took a shot from the top of the box, but Franch denied the Irish International her tally.

Portland found the back of the net just five minutes into the second half. A free kick from distance found Emily Sonnett at the top of the box, the defender headed the ball far post to Horan who slotted it past NC Courage Kate Rowland for the lead.

“I can’t even remember the goal,” Horan said.

To which Parsons replied: “I do. Freaking enjoyed it.”

Horan started all 24 games this season, playing all but 35 minutes. She finished with four goals and added two assists.

“She’s the best and biggest in enormous games,” Parson said. “You think back in the last two years, the semifinal of last year, the person who grabbed that goal to make it 4-3 was Lindsey. Thankful the ball dropped to her and knew it was going to end up in one place. Tight game, maybe the most beautiful ugly game I’ve ever been a part of. Glad we won and that’s over.”

The Courage continued to press and almost found the equalizer in the 83rd minute as Jessica McDonald found herself in the box only to see her attempt blocked by a Thorns defender.

The last few minutes were played in front of Franch’s goal, but several attempts by Williams, Mewis and and McDonald were thwarted by the Thorns.

“Our defense was incredible,” Horan said. “ I credit our backline so much and the work that we put into this game. Everyone was out there to win and give their 100 percent.”

Scoring summary:

POR: Lindsey Horan (Emily Sonnett, 50’)

Cautions:

NCC: None
POR: Tobin Heath 41’, Hayley Raso 45’+, Dagny Brynjarsdottir 72’

Lineups

NC Courage: Katelyn Rowland; Jaelene Hinkle, Abby Erceg (C), Abby Dahlkemper, Taylor Smith (Makenzy Doniak,12’); Denise O’Sullivan (Stephanie Ochs, 86’), Sam Mewis, McCall Zerboni, Kristen Hamilton (Jessica McDonald, 39’); Lynn Williams, Ashley Hatch

Subs not used: Sabrina D’Angelo, Meredith Speck, Samantha Witteman, Nora Holstad

Portland Thorns: Adrianna Franch; Emily Sonnett, Amandine Henry (Allie Long, 90’+), Meghan Klingenberg, Katherine Reynolds; Emily Menges, Ashleigh Sykes (Dagny Brynjarsdottir, 54’; Hayley Raso (Nadia Nadim, 69’), Tobin Heath, Lindsey Horan; Christine Sinclair ©

Subs not used: Britt Eckerstrom, Tyler Lussi, Celeste Bourelle, Mallory Weber

Attendance: 8,124