The USC men’s basketball team had its opponent on the ropes midway through the first half, but was unable to deliver the knockout blow Saturday afternoon at Galen Center.

Showing why it is one of the best teams in the country, No. 5 Purdue battled back to take the lead by halftime before making critical stops in the final minutes of the second half to pull out a 69-64 win and remain unbeaten in Big Ten play.

“There are no moral victories … this one is super frustrating,” USC coach Eric Musselman said. “All we can do is get our guys healthy and give ourselves a chance. Every game is difficult in this league.”

Chad Baker-Mazara scored 15 points and Jacob Cofie had 13 points and 15 rebounds for the Trojans (14-4, 3-4), who led by three points with under three and half minutes left but were unable to close it out.

“We were five for 14 from the free-throw line,” Musselman lamented. “To shoot 35% at the line in a college game is inexcusable.”

USC also struggled from three-point range, going three for 20.

“I thought I brought good energy, rebounded well and made some big stops,” Cofie said. “I think this showed we can beat anyone if we play our game. We gotta go back to the drawing board. We can’t have costly turnovers like that at the end.”

Guard Braden Smith had 22 points and Oscar Cluff added 19 for the Boilermakers (17-1, 7-0), who were the preseason No. 1 and spent three weeks in the top spot until an 81-58 home loss to Iowa State on Dec. 6. Since then, they have reeled off nine straight wins.

Purdue guard Braden Smith, right, celebrates a three-pointer near USC center Gabe Dynes during the first half Saturday.

Purdue guard Braden Smith, right, celebrates a three-pointer near USC center Gabe Dynes during the first half Saturday.

(Ronaldo Bolanos / Los Angeles Times)

USC fell to 0-3 versus ranked opponents, having previously lost on the road to No. 3 Michigan and No. 12 Michigan State. The Trojans dropped to 7-2 at home and 5-1 in games decided by five points or less.

USC won the rebounding battle 40-32. Before Saturday, the Trojans were 10-0 when out-rebounding their opponent.

“The guys are really disappointed,” Musselman said. “You don’t out-rebound a team like that without a lot of effort.”

Forward Ezra Ausar scored 11 points while Gabe Dynes and Kam Woods each contributed eight points for the Trojans, who are 4-6 all time against Purdue.

USC forward Jacob Cofie attempts a three-pointer against Purdue on Saturday at Galen Center.

USC forward Jacob Cofie attempts a three-pointer against Purdue on Saturday at Galen Center.

(Ronaldo Bolanos / Los Angeles Times)

Jordan Marsh came off the bench to ignite a 16-0 run over a 5:05 span of the first half that gave the Trojans a 14-point lead and all the momentum. Baker-Mazara made a floater in the lane, Cofie swished a corner three, Marsh made a jumper, Dynes scored on an alley-oop and a layup and Jaden Brownell drilled another three before a transition dunk by Baker-Mazara pushed the lead to 22-8 with 11:22 left in the half.

“We were in the flow, the ball was moving and we got mismatches that we like,” Musselman said. “It was a great run there.”

Purdue went scoreless for a 7:36 stretch until Jack Benter’s putback ended the drought at the 9:04 mark. That began an 18-6 run for the Boilermakers, who got within two on a three-pointer by Omer Mayer. The visitors pulled even on a pair of free throws by Gicarri Harris and regained the lead 33-32 on Smith’s three-pointer with 2:30 left.

Smith drained a fallaway three-pointer from 25 feet with time running out to give Purdue a 38-32 lead heading to the locker room. After its red-hot start, USC got outscored 30-10 over the last 9:38 of the first half.

Purdue guard Braden Smith chases down a loose ball in front of USC guard Chad Baker-Mazara during the second half.

Purdue guard Braden Smith chases down a loose ball in front of USC guard Chad Baker-Mazara during the second half.

(Ronaldo Bolanos / Los Angeles Times)

USC rallied from an eight-point deficit early in the second half to forge a 60-57 lead on Ausar’s 17-foot jumper with 3:23 left, but the Boilermakers pulled even on a pair of Cluff free throws and took a 62-60 lead on his layup with 1:47 left. He added a free throw on Purdue’s next possession before Baker-Mazara’s driving layup pulled the Trojans within one point with one minute left.

“He’s a pretty big dude,” Cofie said of Cluff, who added six rebounds and four assists. “I was trying to get him off the glass, but he did a good job finishing.”

After Trey Kaufman-Renn missed a hook shot, the Trojans had a chance to retake the lead but Smith stole a pass near midcourt and drove for a layup to make it 65-62 with 23 seconds left. Ausar dunked with 15 seconds left before Smith was fouled intentionally and made both shots with 13.6 seconds left.

Marsh was fouled in the act of shooting with 8.7 seconds left but missed both attempts. Fletcher Loyer was fouled and calmly converted both free throws to seal the victory.