Gabe Kalscheur scored a season-high 23 points Thursday afternoon in the opening round of the Phil Knight Invitational in Portland, Ore, as Iowa State outlasted Villanova for an 81-79 victory in overtime.

Iowa State (4-0) meets No. 1 North Carolina in Friday’s semifinals while Villanova takes on Portland in a consolation game.

Kalscheur, limited to six minutes because of a hip bruise against Milwaukee on Sunday, came off the bench to make 8 of 19 shots and five 3-point shots.

His final 3-pointer was a step back from the left corner via Villanova’s Brandon Slater, who rolled around the net before giving Iowa State a 75-71 lead, with 3-01 remaining in overtime. After that shot, the state of Iowa sweated out the target.

Villanova’s Eric Dixon converted the putback of his own miss with 1:39 left to make it 75-74, but teammate Jordan Longino missed a jumper with 58 seconds left.

After a timeout at Iowa State with 43 seconds remaining, Osun Osunniyi converted a layup when Dixon fell to the ground with 36 seconds left. Osunniyi blocked Caleb Daniels’ shot wide nine seconds later and Tamin Lipsey grabbed a steal and hit four free throws in the last 20 seconds to decide it.

Osunniyi added 17 points on 8-of-10 shooting while Iowa State had 40 points in the paint. Jaren Holmes contributed 12 for the Cyclones, who shot 45.5 percent.

Daniels led all scorers with 25 points and seven assists, but Villanova never led after the opening minutes. Dixon amassed 21 points and 10 rebounds while Slater contributed 14 points while the Wildcats shot 40.4 percent.

After teams went into halftime stuck with a total of 34, Kalschuer hit two 3s and a layup as Iowa State opened the second with a 17-1 run to take his fourth 3-pointer for a 51-35 lead to take over with 15:11.

Villanova ended the second half with seven straight points and Brendan Hausen’s 3-pointers made it 67-65 with 1:07 left before a frantic final minute of regulation.

Iowa State couldn’t win it when Kalschuer missed a jumper with 29 seconds left and Slater secured the rebound. After Villanova’s final timeout, Osunniyi blocked Dixon’s 3-pointer with 12 seconds left, but Kalschuer fouled Slater, who connected it at 67-all with 10 seconds left on the free throws that followed.

Holmes missed an off-balance jumper from the left over Longino by two seconds to send him into overtime.