Defensive end, Duke, 2023–⁠26

Kevin O’Connor

Lettered 2024–⁠25 (school media guide)

Number
No. 15
Height
6′4″
Weight
245 lb
Class (2026)
Junior
Hometown
Easton, MD

Kevin O’Connor plays defensive end for Duke. Last time out, against North Carolina: 1 tackles, 1 sack.

2026 so far

4 tackles, 3 sacks

Last game: 1 tackles, 1 sack vs. North Carolina, L 20–⁠24

Next game: at Virginia, Oct 23

Game by game this season, tackles
  1. 1TULN
  2. 2STAN
  3. 1UNC

Filled bars: wins; outlined: losses.

Career highs

2sacks, career highvs. Stanford, 2026

Team titles: ACC champions, 2025

Defense

Tackles, season by season, with his team’s record

* The season in progress, so far.

SeasonTeamTklSoloTFLSacksPDHur
2024Duke830.50.500
2025Duke1131004
2026Duke433301
Career2394.53.505

Season lines from CollegeFootballData, regular season and bowls.

On the roster

SeasonTeamNo.PosClassHtWt
2023Duke15DERS
2024Duke15DEFr.
2025Duke15DESo.
2026Duke15DEJr.6′4″245

As each season’s roster listed the player (CollegeFootballData). Classes before the latest listing are counted back from it; “Yr 1” is the year on file where that count can’t place a season he played (a redshirt, transfer or 2020 year); height and weight as last listed.

Game by game

2026 Duke 3 games, 4 tackles, 3 sacks
DateOpponentResultTklSoloTFLSacksPD
Sep 5vs.TulaneW 17–⁠310000
Sep 19vs.StanfordW 35–⁠722220
Oct 17vs.North CarolinaL 20–⁠2411110
2025 Duke 7 games, 11 tackles
DateOpponentResultTklSoloTFLSacksPD
Aug 28vs.ElonW 45–⁠1720000
Sep 27atSyracuseW 38–⁠310000
Nov 15vs.VirginiaL 17–⁠3411000
Nov 22atNorth CarolinaW 32–⁠2510000
Nov 29vs.Wake ForestW 49–⁠3200000
Dec 6vs.VirginiaW 27–⁠2010000
Dec 31 ✦vs.Arizona StateW 42–⁠3952100
2024 Duke 4 games, 8 tackles, 0.5 sacks
DateOpponentResultTklSoloTFLSacksPD
Sep 21atMiddle TennesseeW 45–⁠17410.50.50
Sep 28vs.North CarolinaW 21–⁠2011000
Oct 5atGeorgia TechL 14–⁠2411000
Oct 18vs.Florida StateW 23–⁠1620000

Box scores from CollegeFootballData, 2004 on. ✦ postseason; ★ a career high on file.

Is this you, or do you know of something wrong or missing here? Suggest a correction. We check each one against a source before changing the page.