TEMPE — Kedon Slovis threw for 432 yards and four touchdowns, defensive lineman Christian Rector tipped the ball to himself for an interception with 25 seconds left and Southern California held on to beat Arizona State 31-26 on Saturday.
The win clinched a bowl berth for the Trojans (6-4, 5-2 Pac-12), who missed post-season play last year.
USC jumped on the Sun Devils with 28 points in the first quarter behind Slovis' 297 yards and four TDs passing.
Arizona State (5-4, 2-4) shut down the Trojans over the next three quarters and freshman quarterback Joey Yellen led a comeback.
Making his first career start with Jayden Daniels injured, Yellen threw two touchdown passes in the first half and hit Brandon Aiyuk on a 2-yard TD pass to open the third quarter.
Yellen then found Frank Darby on a 15-yard touchdown in the fourth quarter after an interception was negated by a USC roughing the passer penalty. Darby dropped the 2-point conversion attempt, putting the Trojans up 31-26.
Arizona State negated Khaylan Kearse-Thomas' interception return for a touchdown with defensive holding and got the ball back at its 10-yard line with 3:29 left.
The Sun Devils moved quickly down the field, but Rector came up with the interception at USC's 37.
Amon-Ra St. Brown caught eight passes for 173 yards and Michael Pittman Jr. had 13 catches for 146 yards to keep USC in the Pac-12 South race.
Yellen threw for 292 yards and four touchdowns with two interceptions.
The Trojans arrived in the desert needing a win, possibly to help coach Clay Helton save his job.
Calls for Helton's job ratcheted up after last week's blowout loss to No. 7 Oregon and new athletic director Mike Bohn could mean he will be on a short leash.
Arizona State rose to No. 17 in the AP Top 25 after opening the season 5-1, but suffered consecutive ugly losses to No. 8 Utah and UCLA.
The Sun Devils had a bye week to prepare for the Trojans — and it didn't seem to do much good early.
The Sun Devils had a personal foul penalty to extend USC's opening drive, which Slovis capped with an 8-yard TD pass to Drake London
Late in the first quarter, Arizona State cornerback Jack Jones tried to strip the ball instead of tackling Kenan Christon, allowing him to run the final 20 yards of a 58-yard catch into the end zone for his second TD.
Slovis put USC up 28-7 late in the first quarter with a 95-yard TD pass to St. Brown, who broke free when three Arizona State defensive backs collided.
Yellen threw a 6-yard touchdown pass to Kyle Williams and a 62-yard score to Darby to keep the Sun Devils within 28-13 at halftime.
USC dominated early and labored the rest of the way, but came away with a much-needed road win.
Yellen was solid in his debut, but the Sun Devils dug too big of a hole and made too many mistakes to complete the comeback.
USC plays at California next Saturday.
Arizona State plays at Oregon State next Saturday.