Two failed 4th-and-1s. A missed field goal. A dropped touchdown.
It's not as though Ohio State and Notre Dame didn't have opportunities to produce more points on offense in the first half. But blown chances in multiple situations led to a tight, low-scoring, 3-0 affair entering the locker room.
The Fighting Irish drove down to the Buckeyes' 18-yard line on their opening drive, receiving a 4th-and-1 opportunity after driving 71 yards in 13 plays.
Notre Dame quarterback Sam Hartman rolled out off play-action and came under pressure, then scrambled toward the first-down marker.
Ohio State linebacker Cody Simon drove him out-of-bounds after what was initially ruled a first-down gain.
Upon review, replay overturned the call and the Fighting Irish turned it over on downs.
On Notre Dame's next possession, the Fighting Irish amassed another long escapade, going 39 yards in seven plays to set up a 47-yard field goal attempt for Spencer Shrader.
It sailed hooked wide left. The contest remained knotted at 0-0 with 14:04 to play in the second quarter.
The Buckeyes' own missed opportunities would come.
After another 12 plays, Ohio State had gained 70 yards to move down to Notre Dame's 1-yard line for 4th-and-goal. Quarterback Kyle McCord play-faked and rolled right, attempting to fit a pass in to tight end Cade Stover, but it was batted away by linebacker Jaylen Sneed.
On the Buckeyes' final drive of the first half, it appeared that star receiver Emeka Egbuka hauled in a 15-yard scoring strike in the back of the end zone.
Replay overturned that call too, however, and the Buckeyes had to settle for a field goal, leading to the 3-0 halftime scoreline.
All told, both offenses combined for 288 yards but only three points.
Stay tuned to Eleven Warriors for more updates from Ohio State's top-10 battle with Notre Dame.