Final scores, cross-checked against the ESPN scoreboard and each game's recap.
Upset of the week
30 USC
18 No. 2 Ohio State
The Coliseum got its night
USC needed 39 seconds: Jayden Maiava threw a short screen that Trent Mosley turned into a 69-yard touchdown on the game's second snap. Mosley finished with five catches for 101 yards plus a 44-yard punt return, and a 70-yard catch-and-run by Mark Bowman set up another score. The Trojans led 20-9 at the half and 27-9 in the third quarter.
Ohio State was playing its first game without quarterback Julian Sayin, who hurt his arm against Indiana two weeks earlier. True freshman Luke Fahey, in his first career start, threw for 260 yards. The Buckeyes piled up 464 yards but kept settling for field goals and did not reach the end zone until Jeremiah Smith's 1-yard catch with 2:12 left. That was Smith's 40th career touchdown reception, a new Big Ten record, passing Braylon Edwards. USC recovered the onside kick and added a field goal.
USC is 7-2 (4-2 Big Ten) and posted its first win over a top-five opponent at the Coliseum since 2015. Ohio State falls to 6-2 (4-1), its first time with two losses this early since 2011.
38 No. 1 Miami
35 North Carolina
The strip sack that saved a perfect season
Miami trailed 28-24 early in the fourth quarter in Chapel Hill. With the Hurricanes up 31-28 late, Marquise Lightfoot sacked Billy Edwards Jr. and knocked the ball loose; Justin Scott recovered, and six plays later Darian Mensah found Malachi Toney for a 9-yard touchdown that held up as the winner.
Mensah went 22 of 29 for 274 yards and three touchdowns. Mark Fletcher scored three times, tying Miami's career rushing-touchdown record and setting the school mark for scrimmage touchdowns. Edwards threw four touchdown passes, and UNC nearly recovered two late onside kicks before penalties wiped both out. Miami is 8-0; UNC is 4-4.
23 No. 4 Indiana
16 Minnesota (OT)
Overtime again, and a backup steps in
Starter Josh Hoover left at halftime after a hard hit, so Grant Wilson took over. After the two 60-yard field goals (see the kick chart above), Wilson hit Charlie Becker for a 25-yard touchdown on the first snap of overtime, and Indiana sacked Drake Lindsey on fourth down to end it.
Becker had eight catches for 149 yards. It was Indiana's second straight overtime game after a 13-6 win at Michigan. The Hoosiers are 8-1 (5-1); Minnesota is 5-3.
27 No. 3 Georgia
8 No. 17 Florida
Four turnovers, moved to Atlanta
Played at Mercedes-Benz Stadium this year, the rivalry went Georgia's way for a sixth straight time. Florida turned it over four times, and the biggest swing came late in the first half when Chris Cole returned a fumble 66 yards for a touchdown on the way to a 24-0 halftime lead.
Georgia outrushed Florida 217 to 48. Gunner Stockton threw for only 101 yards but had no turnovers. Georgia is 7-1 (5-1 SEC); Florida is 5-3.
51 Iowa State
49 No. 24 Oklahoma State
A shootout settled at the gun
The teams combined for 1,114 yards. Oklahoma State's Drew Mestemaker threw five touchdowns, the last with 53 seconds left for a 49-48 lead, but an unsportsmanlike-conduct flag on the scoring play was enforced on the kickoff. Iowa State went 47 yards in five plays for Kyle Konrardy's winning kick.
Aiden Flora ran for 221 yards and two scores, and Jamal Polite caught passes for 171 yards. Iowa State is 4-4; Oklahoma State is 5-3.