Updated

Matt Barkley did it all Friday night, throwing for a school-record six touchdowns and saving another with a tackle following his sole interception as No. 21 Southern California bounced back from its heartbreaking triple-overtime loss to Stanford with a 42-17 win over Colorado on Friday night.

After orchestrating the win, he even went into the stands to direct the Trojans marching band.

That's something Matt Leinart and Mark Sanchez didn't do until the end of their USC careers. Barkley cautioned not to read anything into it.

"No, I've done it twice before, so it's not an indicator of anything," he said. "One of the band directors grabbed me coming off the field and asked me to go up there. I wasn't charging up there on my own."

When he was done, the sizable sections of Trojans fans chanted, "One more year! One more year!" imploring the junior quarterback not to leave them after this season.

"It could be one more year," Barkley shrugged.

Colorado coach Jon Embree shudders at the thought.

"He's a heck of a player. Thought he was very accurate. He did a good job on the scramble, hitting a touchdown. I know he had some drops that probably hurt his numbers," Embree said. "That's why he needs to leave next year. That's why he needs to go."

Curtis McNeal, an undersized junior tailback whose fumble ended USC's loss to the Cardinal, rushed for 87 yards on 10 carries in his first career start for the Trojans (7-2, 4-2 Pac-12) but he sat out most of the second half with a bruised knee and hip.

The win over the beleaguered Buffaloes (1-9, 0-6) capped a wild week for the Trojans that included two days of tirades from coach Lane Kiffin against several officiating decisions in last week's loss, which resulted in a hefty fine and an unprecedented reprimand from the league.

Asked good-naturedly after this one what he thought of the officiating, Kiffin politely demurred.

"I can't even say they were awesome. I get fined for that, too, in reading the rules," he said. "So, I've moved on."

Robert Woods and Marqise Lee each caught two of Barkley's TD passes. Woods caught nine passes for 130 yards and Lee had nine receptions for 124 yards against Colorado's depleted defensive backfield.

"We knew our receiving corps was much better than their secondary and it definitely showed tonight," said Barkley, who completed 25 of 39 passes for 318 yards. "We were a little off on a couple of throws but I mean, we were throwing the ball all over the place. Thank you, Coach Kiffin for the calls."

USC safety T.J. McDonald sat out the first half while serving a half-game suspension for his hit on Stanford receiver Chris Owusu. Drew McAllister, his replacement, was in coverage when Tyler Hansen hit Toney Clemons on a crossing route for a 37-yard touchdown three minutes into the game.

That marked Colorado's first lead since Oct. 3 against Washington, a span of 244 minutes, 10 seconds of game time.

It didn't last long.

Barkley led the Trojans 80 yards in seven plays to tie it, lofting a high-arcing pass over cornerback D.D. Goodson, a converted tailback, and into Lee's hands from 33 yards out.

Barkley put USC ahead 14-7 with a 5-yard toss to tight end Xavier Grimble, capping an 85-yard drive, then found Woods in the left corner of the end zone from 15 yards out.

After Rhett Ellison blocked Will Oliver's 31-yard field goal attempt, Lee atoned for dropping a 50-yard touchdown pass by blowing past Goodson again two plays later and hauling in a 25-yarder from Barkley to make it 28-7.

Oliver was good from 30 yards out with one second left in the first half following Jason Espinoza's interception with 36 seconds remaining, pulling the Buffs to 28-10.

Espinoza had his sights on the end zone when he was tackled by Barkley at the 8.

"I'm kind of mad I didn't score," Espinoza said.

Barkley was mad he got picked off.

"I think it kind of did fire me up a little more for the second half," he said.

At least he made the tackle, though.

"Yeah, it's never good when you're making tackles," Barkley said. "But, sometimes you have to."

After Randall Telfer knocked down Oliver's 37-yard attempt in the third quarter, Barkley drove the Trojans to midfield, where he scrambled around and found Woods among three defenders in the end zone for a 45-yard score that made it 35-10.

Barkley called it his favorite play of the night "just because it was like backyard football. I thought I'd passed the line of scrimmage for a second but Woody did a good job, he was just on a curl and they were all covered and he just took off toward the end zone."

After Hansen's 10-yard touchdown throw to Clemons, Oliver was replaced by Justin Castor, whose first career extra point made it 35-17 with 11:19 remaining.

Barkley broke the school record with his sixth touchdown toss when he hit Amir Carlisle over the middle on a short screen that the tailback turned into a 19-yard TD.

"It was awesome," Barkley said. "We knew their ends were rushing upfield petty fast and it was just a quick screen to him. He made some nice maneuvers and got in."

Twice before, Barkley had thrown for five touchdowns, tying the school mark also held by Rodney Peete, Carson Palmer, Leinart and Sanchez.

"It means a lot," Barkley said. "We had five quite a bit now and to finally get six is a pretty cool feeling."

With the Buffaloes decked out in black helmets for only the second time ever and the first time since 1998, their night got off to an inauspicious start as two handlers of their buffalo mascot "Ralphie" lost their grip on the reins during their pregame romp around the field and one of them was nearly trampled by the beast. Nobody was hurt, however.

The Buffaloes received a boost on offense with receiver Paul Richardson (four games) and tailback Rodney Stewart (two games) returning from knee injuries. Stewart accounted for 155 yards of offense on 21 carries and six catches.

The banged-up Buffaloes' defense lost two more starters to injuries as linebacker Brady Daigh (wrist) and strong safety Kyle Washington (concussion) both went down in the first half.