Drake London caught a 21-yard touchdown pass with 1:20 to play, and No. 20 USC rallied from a late 13-point deficit for a 28-27 victory over Arizona State on Saturday in the Pac-12's long-delayed season opener.
Bru McCoy caught a deflected 26-yard touchdown pass with 2:52 left for the Trojans (1-0) and then recovered the ensuing onside kick. On fourth-and-9, Kedon Slovis fired a pass down the middle to London, and the two-sport athlete beat double coverage to haul it in for an electrifying score.
USC's defense then stopped Arizona State (0-1) on downs near midfield with 50 seconds left to preserve an astonishing comeback for perpetually embattled coach Clay Helton's team.
"Well, it reminds you of 2020, doesn't it?" Helton said. "A year of adversity and finding a way to overcome hard situations. I'm proud of our football team. We made it."
Until their rally, the Trojans were struggling through a game that began at 9 a.m. local time. USC agreed to its earliest kickoff in at least 70 years for a national television audience, but it looked like another embarrassment for Helton and his Trojans before it abruptly turned into a thrilling triumph.
USC racked up 556 yards of offense and outgained the Sun Devils by 164 yards, but the Trojans were nearly finished because they committed four turnovers and turned the ball over on downs three times.
"A year ago, we may not have won this game, but a year older, a year more of experience -- I did not see any panic," Helton said. "I saw poise and just kids just saying, 'OK, we'll get to the next opportunity, get to the next opportunity and make some big plays down the stretch.'"
Slovis passed for 381 yards for USC, while Stephen Carr and Markese Stepp made scoring runs in the first half. London also caught eight passes for 125 yards, none bigger than his winning TD reception.
"That play was a play we run all the time," Slovis said. "There was three steps and a hitch ball, and Drake did the rest for me."
Arizona State freshman DeaMonte Trayanum rushed for 84 yards and two touchdowns, while Rachaad White had a 55-yard touchdown reception in a similarly strong debut for the Sun Devils, who got agonizingly close to an impressive road win for coach Herm Edwards and new offensive coordinator Zak Hill.
"The thing I've learned about college football, they can score at any moment," Edwards said. "We had an opportunity defensively to get off the field a couple of times, and we didn't do it. We gave their offense life, and they were able to make the plays. I just think we're going to grow from this, put it behind us and get ready to play next week."
Jayden Daniels passed for 134 yards and ran for 111 more, but the Sun Devils' star quarterback threw four straight incompletions to end their last-ditch drive.
New Arizona State co-defensive coordinator Marvin Lewis also was on the verge of a strong debut before the Trojans broke through.
"I don't think we were out of gas," Arizona State safety Evan Fields said. "We've just got to do a better job having mental toughness. That's what it comes down to. Our focus, we can't let it tire."
The USC defense had a decent start under new coordinator Todd Orlando, but the Sun Devils showed a knack for big plays like White's exceptional run to score on an ordinary screen pass in the second quarter.
USC trailed 17-14 at halftime despite outgaining the Sun Devils. The Trojans lost a fumble at the goal line by Vavae Malepeai and later got stopped on downs near midfield. Slovis then threw an interception with the Trojans in field goal range right before the break.
Trayanum's second touchdown run from 17 yards out put the Sun Devils up 24-14 midway through the third quarter.
Arizona State's defense had its biggest moment shortly afterward, stopping two running plays for no gain by the Trojans from the Sun Devils' 6 for a turnover on downs.
Stepp then fumbled on fourth down at the Arizona State 23 with 6:04 to play, but the Trojans' offense finally caught a break when McCoy made his first career touchdown catch when a contested pass deflected straight to him in the end zone.
Arizona State: The first 57 minutes will do little to assuage the pain of the final three. Edwards' overhaul of his coaching staff still appeared to pay off, and the Sun Devils controlled the line of scrimmage until late.
USC: Helton will breathe an enormous sigh of relief after his players finally got it together at the last possible moment, but the fact that USC's lines both struggled will be a problem. The Trojans' turnovers and mistakes were glaring, but they will dampen the celebration only slightly.
The Trojans won, but they didn't do much to encourage confidence in their ability to contend for the Pac-12 title. They will likely stay ranked but will need more persuasive victories.
"I come away from this tonight saying, 'Hey, we just beat a good football team and have the opportunity to really grow as our football team,'" Helton said. "I think this could be an excellent, excellent football team. I really do."
Arizona State: Home opener against California next Saturday, if the Golden Bears have no coronavirus concerns.
USC: At Arizona next Saturday.
ESPN's Kyle Bonagura and The Associated Press contributed to this report.