Kessler completed 23 of 39 passes for 321 yards and one interception.
Kessler connected on touchdown passes of 17 yards to Nelson Agholor, 71 yards to Adoree'Jackson and 20 yards to tight end Bryce Dixon.
Kessler finished the season with 39 touchdown passes and five interceptions.
The 39 touchdowns tie the USC season record set by Matt Barkley in 2011.
Javorius Allen impresses
USC's Javorius Allen rushed for 152 yards and scored two touchdowns.
Allen, a fourth-year junior who is eligible for the 2015 NFL draft, carried 26 times and scored on runs of two and 44 yards.
It was the ninth time this season that Allen rushed for more than 100 yards, the first since Nov. 1 against Washington State.
Allen finished with 1,489 yards and 11 touchdowns.
Leonard Williams penalized
USC defensive tackle Leonard Williams was penalized twice on consecutive plays near the end of the first quarter, helping to set up a Nebraska touchdown.
On third down, Williams threw quarterback Tommy Armstrong Jr. to the ground after he had thrown a pass, drawing a roughing-the-passer penalty.
Williams sacked Armstrong on the next play and then celebrated as he moved to face the Nebraska bench, drawing a penalty for unsportsmanlike conduct.
Nebraska scored on the next play on a touchdown pass from Armstrong to receiver De'Mornay Pierson-El, giving Nebraska a 17-10 lead.
Williams was the defensive player of the game.
Nelson Agholor thrives
Agholor caught seven passes for 90 yards and one touchdown.
Agholor finished the season with 104 catches, becoming only the fourth Trojans receiver to eclipse the 100 receptions mark.
Su'a Cravens steps up
Su'a Cravens intercepted a pass late in the first quarter to end a threat.
It was Cravens' third interception this season.
The USC sophomore, who moved from safety to linebacker early in the season, has seven career interceptions.
Andre Heidari converts
Senior Andre Heidari kicked a 42-yard field goal.
Heidari made nine of 11 field-goal attempts this season.
He made 49 of 66 attempts in his career.
Mike Riley attends game
Mike Riley, Nebraska's new coach, attended the game with his family.
Riley worked at Qualcomm Stadium in 2000 when USC pursued him to replace Paul Hackett, a job that eventually went to Pete Carroll when the San Diego Chargers would not let Riley out of his contract.
Riley, a former USC assistant who gave the Trojans fits when they traveled to play his teams at Oregon State, was hired by Nebraska after Bo Pelini was fired.
"I had been at a place for a long time that I love," Riley said before kickoff. "It was hard to leave, which I think is always a better way to have to go, even though it's harder.
"I'm also really invigorated and motivated by this new challenge. I figured as this thing came up, I had one more shot. If I was ever going to make a move this would be it.
"I'm 61 years old, I've been coaching 40 years. If I ever wanted to try something new, here was an opportunity and my wife and I decided, 'Let's go.' "
Defensive lineman Greg Townsend Jr. did not play because of a foot injury suffered during practice, a USC official said.
Senior offensive lineman Aundrey Walker was sidelined because of a concussion.