USC Stuns No. 2 Ohio State 30-18 in Halloween Upset at Coliseum
LOS ANGELES — One week after the lowest point of his five years at USC, Lincoln Riley watched his Trojans produce the biggest win of his tenure. Southern California stunned No. 2 Ohio State 30-18 on a rainy Halloween night at the Los Angeles Memorial Coliseum, a start-to-finish upset that shook up the College Football Playoff race and sent the home crowd storming onto the field.
USC never trailed. The Trojans struck on just their second play from scrimmage, built a 20-9 lead by halftime, stretched it to 27-9 in the third quarter, and then held on as Ohio State finally found the end zone twice in the closing minutes. For a team that had been beaten 24-7 at Wisconsin seven days earlier — managing only seven points in what was described as the worst offensive showing of Riley’s time in charge — the turnaround was as sudden as it was complete.
The result leaves USC at 7-2 overall and 4-2 in the Big Ten, firmly back in the playoff conversation with a bye week ahead and a trip to defending national champion Indiana on Nov. 14 still to come. Ohio State falls to 6-2 overall and 4-1 in the conference, with a second defeat this early in a season for the first time since 2011, and with serious questions to answer before Oregon visits Columbus next Saturday.
A 69-yard strike sets the tone
The tone was set almost immediately. On USC’s second snap, quarterback Jayden Maiava found freshman wide receiver Trent Mosley behind the line of scrimmage, and Mosley sprinted through the Ohio State secondary for a 69-yard touchdown. It was the sixth touchdown of Mosley’s impressive freshman season, and it exposed a defense that had not allowed a play longer than 36 yards all season — and had not given up a pass play longer than 40 yards before Saturday night.
Mosley was not finished. Later in the first quarter he broke off a 44-yard punt return and added an 18-yard reception on the drive that ended with Waymond Jordan’s 9-yard touchdown run. By the end of the night Mosley had five catches for 101 yards, and Maiava had completed 15 of 22 passes for 222 yards and a touchdown.
Ohio State, meanwhile, kept moving the ball and kept failing to finish drives. The Buckeyes piled up 192 yards in the first half but managed only three field goals from their first five possessions. Just before halftime they reached the USC 1-yard line, only to be stopped, and USC kicked a field goal with one second left in the half to take a 20-9 lead into the break.
USC’s defense holds for 57 minutes
If the big plays grabbed the headlines, USC’s defense did the quieter work that won the game. Ohio State did not score a touchdown until there were just 2:12 remaining, meaning the Trojans kept the Buckeyes out of the end zone for the first 57 minutes of the game.
That is a remarkable feat against an Ohio State offense that still finished with 464 total yards. The Buckeyes ran for 204 yards, with running back Bo Jackson carrying for 121 yards, and they held the ball for more than 39 minutes. Yet they settled for field goals, committed 11 penalties for 75 yards, and repeatedly stalled in scoring territory — a combination that head coach Ryan Day later summed up bluntly as too many mistakes.
Day was quick to defend his young quarterback. Freshman Luke Fahey was making his first career start in place of injured starter Julian Sayin, who hurt his arm two weeks earlier at Indiana. Fahey, a freshman from nearby Orange County, completed 21 of 38 passes for 260 yards and a touchdown, and Day said afterward that Fahey played well enough but needed more support from those around him, particularly in the red zone.
“Too many mistakes,” Day said, pointing to the penalties and the failure to turn promising drives into touchdowns. He added that the miscues were not a matter of effort, but of execution at the moments that decide close games against top opponents.
The Bowman play that broke it open
The decisive sequence came midway through the third quarter. After Ohio State’s Isaiah West fumbled in USC territory, the Trojans took over and Maiava found freshman tight end Mark Bowman on a short pass. Bowman hurdled a defender, broke several tackles, and turned a 17-yard throw into a spectacular 70-yard gain that carried USC to the Ohio State 3-yard line.
Two plays later, King Miller punched in a 1-yard touchdown run to make it 27-9, and the Coliseum sensed what was coming. Ohio State added a field goal early in the fourth quarter to cut the lead to 27-12, but USC answered with its third field goal of the night after recovering an onside kick, restoring a comfortable margin at 30-18 with 1:46 left.
Ohio State’s late touchdown did at least produce a piece of history. Wide receiver Jeremiah Smith caught a 1-yard pass from Fahey for his 40th career touchdown reception, a new Big Ten record that moved him past Michigan great Braylon Edwards, who held the previous mark of 39. Smith finished with 10 catches for 83 yards, but the record came in a losing effort, and his Heisman Trophy hopes took a hit as Miami’s stars shone in their own win over North Carolina on the same night.
What it means for the playoff race
For USC, this was the signature victory Riley had been searching for since arriving in Los Angeles. It was the Trojans’ first win over a top-five opponent at the Coliseum since 2015, their first win over a top-two team since beating Oklahoma in the Orange Bowl in January 2005, and, according to reports, Riley’s first top-five win as USC head coach.
It was also the fourth straight week in which a top-two team in the Associated Press poll lost to an unranked opponent, a run of chaos at the top of the rankings that has blown the playoff picture wide open. USC entered the week unranked after the Wisconsin defeat; the Trojans are now almost certain to return to the AP Top 25, and they control far more of their own destiny than they did a week ago.
The schedule, however, does not get easier. After a bye week, USC travels to Bloomington to face No. 4 Indiana on Nov. 14, another game that could define the Trojans’ season. Win that one, and the conversation around Riley and this team changes completely. Lose it, and Saturday night becomes a memorable night rather than a turning point.
For Ohio State, the path is narrower but not closed. The Buckeyes still control their Big Ten and playoff destiny in the sense that winning out — starting with Oregon at home next Saturday — would put them right back in the thick of the race. But they can no longer afford the kind of undisciplined, wasteful performance they produced in Los Angeles, where they outgained USC by 126 yards and still lost by 12 points.
That gap between yardage and points tells the story of the night: one team turned its chances into touchdowns, the other into field goals and frustration. On Halloween night in the rain, USC was the team that made the plays that mattered — and for one night at least, the Trojans looked like exactly the team Riley has been promising they could be.
Frequently Asked Questions
What was the final score of USC vs. Ohio State?
USC beat No. 2 Ohio State 30-18 on Saturday, Oct. 31, 2026, at the Los Angeles Memorial Coliseum.
Who starred for USC in the upset?
Freshman wide receiver Trent Mosley caught five passes for 101 yards, including a 69-yard touchdown on USC’s second play. Quarterback Jayden Maiava threw for 222 yards, and freshman tight end Mark Bowman produced a 70-yard catch-and-run that set up the touchdown that made it 27-9.
Why was Ohio State’s starting quarterback not playing?
Starter Julian Sayin was out after injuring his arm two weeks earlier at Indiana. Freshman Luke Fahey made his first career start in his place, throwing for 260 yards and one touchdown.
What record did Jeremiah Smith break?
Smith’s late 1-yard touchdown catch was the 40th touchdown reception of his career, a new Big Ten record, passing Braylon Edwards’ previous mark of 39.
What happens next for both teams?
Ohio State hosts Oregon on Saturday, Nov. 7. USC has a bye week, then travels to face No. 4 Indiana on Nov. 14.
Sources and further reading
Reporting for this article drew on game coverage from NBC Sports, The Columbus Dispatch, theScore, USA Today and 247Sports, including the Associated Press game report carried by NBC Sports.