From CollegeFootballData’s box score. Names lead to each player’s page. ★ a career high on file.
Team stats
Cal Poly
Portland State
263
Total yards
472
166
Passing yards
73
97
Rushing yards
399
5.9
Yards per pass
6.6
2.9
Yards per rush
8.9
14
First downs
17
5–15
Third downs
7–10
0–0
Fourth downs
0–0
2
Turnovers
2
5–40
Penalties
7–64
25:48
Possession
30:06
Efficiency
Cal Poly
Portland State
34%
Success rate
47%
−0.02
EPA per play
0.47
1.37
Explosiveness
1.92
−0.01
Rushing EPA
0.44
0.12
Passing EPA
0.59
38%
Passing-down success
47%
From CollegeFootballData.com: each offense’s efficiency, and the havoc each defense caused. The better side of each line is bold.
Before kickoff
Our ratings and the line, going in
Our ratings (scores only)
Portland State 64% to win. Elo’s favorite won.
The line
Portland State −10.5, over/under 65.5.
The last line on file before kickoff: the consensus line when the books publish one, otherwise a single major sportsbook’s.
Every drive
Solid bars scored; an outline in the other team’s color marks points the defense scored. Portland State drives left to right, Cal Poly right to left. Our source’s drive data for this game doesn’t add up to the final score, so a score may be missing here; the scoring by quarter above is complete.
Q1 Cal PolyTouchdown, 4 plays, 75 yards
Q1 Portland StateTouchdown, 2 plays, −43 yards
Q1 Cal PolyInterception, 3 plays, 70 yards
Q1 Portland StateFumble, 1 play, −86 yards
Q1 Cal PolyPunt, 6 plays, 71 yards
Q1 Portland StateTouchdown, 6 plays, −20 yards
Q1 Cal PolyPunt, 3 plays, 73 yards
Q1 Portland StateTouchdown, 8 plays, −17 yards
Q2 Cal PolyPunt, 3 plays, 75 yards
Q2 Portland StateField goal, 7 plays, −42 yards
Q2 Cal PolyPunt, 6 plays, 75 yards
Q2 Portland StateTouchdown, 3 plays, −25 yards
Q2 Cal PolyDefensive TD, 2 plays (Portland State scores), 75 yards
Q2 Portland StateResult not recorded, 1 play, −92 yards
Q2 Cal PolyPunt, 3 plays, 65 yards
Q2 Cal PolyTouchdown, 3 plays, 21 yards
Q2 Portland StateTouchdown, 3 plays, −37 yards
Q2 Cal PolyPunt, 6 plays, 75 yards
Q2 Portland StateEnd of half, 1 play, −21 yards
Q3 Cal PolyPunt, 3 plays, 70 yards
Q3 Portland StatePunt, 3 plays, −26 yards
Q3 Cal PolyPunt, 5 plays, 85 yards
Q3 Portland StateTouchdown, 15 plays, −15 yards
Q3 Cal PolyTouchdown, 9 plays, 66 yards
Q4 Portland StatePunt, 5 plays, −37 yards
Q4 Cal PolyPunt, 6 plays, 90 yards
Q4 Portland StateResult not recorded, 2 plays, −30 yards
Play by play
1st quarter7 drives, then Portland State 21, Cal Poly 7
Cal Poly Touchdown, 4 plays
14:47
Christian Grubb 99 Yd Kickoff Return (Gianni Smith Kick)Portland State 7, Cal Poly 0
14:47
Gianni Smith kickoff for 65 yds for a touchback
14:47
1st & 10 at own 25
Troy Fletcher run for no gain to the CP 25
14:22
2nd & 10 at own 25
Sam Huard pass complete to Tyrece Fairly-Diyem for 22 yds to the CP 47 for a 1ST down
13:59
1st & 10 at own 47
Troy Fletcher run for 4 yds to the PRST 49
13:40
2nd & 6 at opp 49
S. Huard pass to B. Allen for 49 yds for a TD (N. Serna KICK)Tied at 7
Portland State Touchdown, 2 plays
13:40
Noah Serna kickoff for 47 yds
13:35
1st & 10 at own 43
Jobi Malary run for 6 yds to the PRST 49
12:54
2nd & 4 at own 49
Dante Chachere run for 51 yds for a TD (Gianni Smith KICK)Portland State 14, Cal Poly 7
Cal Poly Interception, 3 plays
12:54
Gianni Smith kickoff for 65 yds for a touchback Portland State Penalty, Offsides (-5 Yards)
12:40
1st & 10 at own 30
Troy Fletcher run for a loss of 2 yards to the CP 28
12:09
2nd & 12 at own 28
Sam Huard run for no gain to the CP 28
11:41
3rd & 12 at own 28
Sam Huard pass intercepted
11:32
1st & 10 at opp 14
Dante Chachere run for a loss of 12 yards to the CP 29 Dante Chachere fumbled, recovered by CP Zachary Denis
Cal Poly Punt, 6 plays
11:24
1st & 10 at own 29
Sam Huard pass complete to Logan Booher for 3 yds to the CP 32
10:52
2nd & 7 at own 32
Sam Huard pass incomplete
10:46
3rd & 7 at own 32
Sam Huard pass complete to Carlton Brown III for 24 yds to the PRST 44 for a 1ST down
10:23
1st & 10 at opp 44
Paul Holyfield Jr. run for no gain to the PRST 44
9:53
2nd & 10 at opp 44
Sam Huard pass incomplete
9:44
3rd & 10 at opp 44
Sam Huard pass incomplete
9:38
4th & 10 at opp 44
Jesse Ehrlich punt for 44 yds for a touchback
Portland State Touchdown, 6 plays
9:29
1st & 10 at own 20
Dante Chachere pass incomplete
9:23
2nd & 10 at own 20
Andrew Van Buren run for no gain to the PRST 20
8:35
3rd & 10 at own 20
Portland State Penalty, False Start (Billy Lutui) to the PRST 15
8:13
3rd & 15 at own 15
Dante Chachere pass complete to Quincy Craig for 16 yds to the PRST 31 for a 1ST down
7:45
1st & 10 at own 31
Dante Chachere pass complete to Nate Bennett for 6 yds to the PRST 37
7:06
2nd & 4 at own 37
Portland State Penalty, False Start (Dallas Holliday) to the PRST 32
6:52
2nd & 9 at own 32
Jermaine Braddock run for 12 yds to the PRST 44 for a 1ST down
6:17
1st & 10 at own 44
Jobi Malary run for 56 yds for a TD (Gianni Smith KICK)Portland State 21, Cal Poly 7
6:17
Gianni Smith kickoff Portland State Penalty, Unsportsmanlike Conduct (Elias Spence) to the PRST 20
Cal Poly Punt, 3 plays
6:17
Gianni Smith kickoff for 50 yds
6:13
1st & 10 at own 27
Troy Fletcher run for 4 yds to the CP 31
5:39
2nd & 6 at own 31
Troy Fletcher run for 5 yds to the CP 36
5:08
3rd & 1 at own 36
Troy Fletcher run for a loss of 2 yards to the CP 34
4:29
4th & 3 at own 34
Jesse Ehrlich punt for 44 yds , Quincy Craig returns for no gain to the PRST 17
Portland State Touchdown, 8 plays
3:38
1st & 10 at own 17
Jobi Malary run for 4 yds to the PRST 21
3:31
2nd & 6 at own 21
Cal Poly Penalty, Personal Foul (Jeremy Justice) to the PRST 34 for a 1ST down
2:34
1st & 10 at own 34
Jobi Malary run for 4 yds to the PRST 38
2:16
2nd & 6 at own 38
Quincy Craig run for no gain to the PRST 38
1:57
3rd & 6 at own 38
Dante Chachere pass complete to Darien Chase for 10 yds to the PRST 48 for a 1ST down
1:38
1st & 10 at own 48
(01:38) CRAIG, Quincy rush to the right for no gain to the PSU48 (JORDAN, Julius), clock 01:35. PENALTY Before the snap, CPO Illegal Substitution enforced 5 yards from the PSU48 to the CPO47. NO PLAY (replay the down).
1:10
1st & 5 at opp 47
Quincy Craig run for no gain to the CP 47
0:24
2nd & 5 at opp 47
Quincy Craig run for a loss of 3 yards to the 50 yard line
Q2 14:51
3rd & 8 at the 50
Dante Chachere run for 50 yds for a TD (Gianni Smith KICK)Portland State 28, Cal Poly 7
2nd quarter11 drives, then Portland State 52, Cal Poly 14
Cal Poly Punt, 3 plays
14:51
Gianni Smith kickoff for 65 yds for a touchback
14:51
1st & 10 at own 25
Sam Huard pass complete to Carlton Brown III for 5 yds to the CP 30
14:40
2nd & 5 at own 30
Sam Huard pass incomplete
14:38
3rd & 5 at own 30
Sam Huard sacked by Slade Shufelt for a loss of 7 yards to the CP 23
13:59
4th & 12 at own 23
Jesse Ehrlich punt for 35 yds, downed at the PRST 42
Portland State Field goal, 7 plays
13:53
1st & 10 at own 42
Quincy Craig run for 8 yds to the 50 yard line
13:22
2nd & 2 at the 50
Quincy Craig run for no gain to the 50 yard line
12:41
3rd & 2 at the 50
Jobi Malary run for 20 yds to the CP 30 for a 1ST down
12:16
1st & 10 at opp 30
Jobi Malary run for 3 yds to the CP 27
11:47
2nd & 7 at opp 27
Jobi Malary run for a loss of 1 yard to the CP 28
10:59
3rd & 8 at opp 28
Dante Chachere pass incomplete
10:49
4th & 8 at opp 28
Gianni Smith 45 yd FG GOODPortland State 31, Cal Poly 7
Cal Poly Punt, 6 plays
10:49
Gianni Smith kickoff for 65 yds for a touchback
10:48
1st & 10 at own 25
Aiden Ramos run for 16 yds to the CP 41 for a 1ST down
10:19
1st & 10 at own 41
Sam Huard pass incomplete
10:13
2nd & 10 at own 41
Aiden Ramos run for 12 yds to the PRST 47 for a 1ST down
9:54
1st & 10 at opp 47
Aiden Ramos run for 8 yds to the PRST 39
9:27
2nd & 2 at opp 39
Aiden Ramos run for a loss of 4 yards to the PRST 43
8:39
3rd & 6 at opp 43
Sam Huard pass incomplete
8:36
4th & 6 at opp 43
Cal Poly Penalty, False Start (Ethan Bronson) to the PRST 48
8:34
4th & 11 at opp 48
Jesse Ehrlich punt for 23 yds
Portland State Touchdown, 3 plays
8:29
1st & 10 at own 25
Andrew Van Buren run for 70 yds to the CP 5 for a 1ST down
7:31
1st & goal at opp 5
Timeout Portland State, clock 07:31
7:30
1st & goal at opp 5
Andrew Van Buren run for 4 yds to the CP 1
6:37
2nd & goal at opp 1
Andrew Van Buren run for 1 yd for a TD (Gianni Smith KICK)Portland State 38, Cal Poly 7
Cal Poly Defensive TD, 2 plays (Portland State scores)
6:37
Gianni Smith kickoff for 65 yds for a touchback
6:37
1st & 10 at own 25
Sam Huard run for 8 yds to the CP 33
6:07
2nd & 2 at own 33
Sam Huard sacked for a loss of 25 yards to the CP 8
Portland State Result not recorded, 1 play
5:54
1st & goal at opp 8
Jobi Malary run for 8 yds for a TD (Gianni Smith KICK)Portland State 45, Cal Poly 7
Cal Poly Punt, 3 plays
5:54
Gianni Smith kickoff
5:51
1st & 10 at own 35
Troy Fletcher run for 2 yds to the CP 37
5:09
2nd & 8 at own 37
Cal Poly Penalty, False Start (Austin Anderson) to the CP 32
4:58
2nd & 13 at own 32
Troy Fletcher run for a loss of 1 yard to the CP 31
4:24
3rd & 14 at own 31
Bo Kelly pass complete to Bryson Allen for 11 yds to the CP 42
3:40
4th & 3 at own 42
Ryan Collins punt for 40 yds , returns for no gain to the PRST 21
Cal Poly Touchdown, 3 plays
3:39
1st & 10 at opp 21
Bo Kelly pass incomplete
3:34
2nd & 10 at opp 21
Bo Kelly pass complete to Tyrece Fairly-Diyem for 12 yds to the PRST 9 for a 1ST down
2:44
1st & goal at opp 5
Timeout Portland State, clock 02:44
2:40
1st & goal at opp 4
Aiden Ramos run for 4 yds for a TD (Noah Serna KICK)Portland State 45, Cal Poly 14
Portland State Touchdown, 3 plays
2:40
Noah Serna kickoff for 37 yds
2:34
1st & 10 at own 37
Quincy Craig run for 53 yds to the CP 10 for a 1ST down
1:41
1st & goal at opp 10
Quincy Craig run for 7 yds to the CP 3
0:57
2nd & goal at opp 3
Quincy Craig run for 3 yds for a TD (Gianni Smith KICK)Portland State 52, Cal Poly 14
Cal Poly Punt, 6 plays
0:57
Gianni Smith kickoff for 65 yds for a touchback
0:57
1st & 10 at own 25
Bo Kelly pass incomplete
0:54
2nd & 10 at own 25
Bo Kelly pass complete to Tyrece Fairly-Diyem for 8 yds to the CP 33
0:31
3rd & 2 at own 33
Bo Kelly pass complete to Tyrece Fairly-Diyem for 11 yds to the CP 44 for a 1ST down
0:27
1st & 10 at own 44
Timeout Cal Poly, clock 00:27
0:26
1st & 10 at own 44
Bo Kelly pass complete to Troy Fletcher for 3 yds to the CP 47
0:22
2nd & 7 at own 47
Bo Kelly pass complete to Evan Burkhart for 1 yd to the CP 48
0:15
3rd & 6 at own 48
Timeout Cal Poly, clock 00:15
0:14
3rd & 6 at own 48
Bo Kelly pass incomplete
0:09
4th & 6 at own 48
Ryan Collins punt for 31 yds
Portland State End of half, 1 play
0:05
1st & 10 at own 21
(00:05) Kneel down by CHACHERE, Dante at PSU19 (team loss of 2), clock 00:01.
3rd quarter5 drives, then Portland State 59, Cal Poly 14
Cal Poly Punt, 3 plays
15:00
Gianni Smith kickoff for 52 yds
14:54
1st & 10 at own 30
Paul Holyfield Jr. run for a loss of 4 yards to the CP 26
14:21
2nd & 14 at own 26
Bo Kelly pass complete to Logan Booher for a loss of 1 yard to the CP 25
13:59
3rd & 15 at own 25
Bo Kelly pass incomplete
13:53
4th & 15 at own 25
Ryan Collins punt for 49 yds
Portland State Punt, 3 plays
13:44
1st & 10 at own 26
Dante Chachere pass complete to Christian Grubb for a loss of 3 yards to the PRST 23
13:08
2nd & 13 at own 23
Christian Grubb run for 1 yd to the PRST 24
12:33
3rd & 12 at own 24
Christian Grubb run for 1 yd to the PRST 25
11:52
4th & 11 at own 25
George Triplett punt for 51 yds , Xavier Oliphant returns for no gain to the CP 15
Cal Poly Punt, 5 plays
11:43
1st & 10 at own 15
Troy Fletcher run for 6 yds to the CP 21
11:17
2nd & 4 at own 21
Bo Kelly pass incomplete
11:10
3rd & 4 at own 21
(11:10) KELLY, Bo pass to the right incomplete intended for GARRISON, Jordan thrown to the CPO35, clock 11:07. PENALTY PSU Pass Interference on AVERY, Isaiah enforced 15 yards to the CPO36 and results in automatic 1ST DOWN [SG]. NO PLAY (replay the down).
11:07
1st & 10 at own 36
Bo Kelly pass incomplete
10:59
2nd & 10 at own 36
Troy Fletcher run for 7 yds to the CP 43
10:27
3rd & 3 at own 43
Sam Huard run for a loss of 2 yards to the CP 41
10:01
4th & 5 at own 41
Ryan Collins punt for 44 yds, fair catch by Jermaine Braddock at the PRST 15
Portland State Touchdown, 15 plays
9:53
1st & 10 at own 15
Dante Chachere pass complete to Quincy Craig for 7 yds to the PRST 22
9:20
2nd & 3 at own 22
Quincy Craig run for 1 yd to the PRST 23
8:45
3rd & 2 at own 23
Jobi Malary run for 2 yds to the PRST 25 for a 1ST down
8:02
1st & 10 at own 25
Dante Chachere pass complete to Semaj Bolin for 8 yds to the PRST 33
7:38
2nd & 2 at own 33
Christian Grubb run for 1 yd to the PRST 34
6:53
3rd & 1 at own 34
Andrew Van Buren run for 4 yds to the PRST 38 for a 1ST down
6:16
1st & 10 at own 38
Andrew Van Buren run for no gain to the PRST 38
5:37
2nd & 10 at own 38
Jobi Malary run for 17 yds to the CP 45 for a 1ST down
4:50
1st & 10 at opp 45
Jobi Malary run for no gain to the CP 45
4:04
2nd & 10 at opp 45
Quincy Craig run for 10 yds to the CP 35 for a 1ST down
3:25
1st & 10 at opp 35
Quincy Craig run for 3 yds to the CP 32
2:45
2nd & 7 at opp 32
Dante Chachere pass complete to Nate Bennett for 9 yds to the CP 23 for a 1ST down
2:13
1st & 10 at opp 23
Christian Grubb run for 1 yd to the CP 22
1:40
2nd & 9 at opp 22
Christian Grubb run for 4 yds to the CP 18
0:45
3rd & 5 at opp 18
Dante Chachere pass complete to Quincy Craig for 18 yds for a TD (Gianni Smith KICK)Portland State 59, Cal Poly 14
Cal Poly Touchdown, 9 plays
0:45
Gianni Smith kickoff for 59 yds
0:32
1st & 10 at own 34
Aiden Ramos run for 3 yds to the CP 37
Q4 14:59
2nd & 7 at own 37
Aiden Ramos run for 3 yds to the CP 40
Q4 14:22
3rd & 4 at own 40
Bo Kelly run for 6 yds to the CP 46 for a 1ST down
Q4 13:46
1st & 10 at own 46
Aiden Ramos run for 14 yds to the PRST 40 for a 1ST down
Q4 13:04
1st & 10 at opp 40
Aiden Ramos run for 3 yds to the PRST 37
Q4 12:38
2nd & 7 at opp 37
Aiden Ramos run for 22 yds to the PRST 15 for a 1ST down
Q4 12:01
1st & 10 at opp 15
Aiden Ramos run for 4 yds to the PRST 11
Q4 11:50
2nd & 6 at opp 11
Bo Kelly pass incomplete
Q4 11:41
3rd & 6 at opp 11
Bo Kelly pass complete to Aidan Scott for 11 yds for a TD (Noah Serna KICK)Portland State 59, Cal Poly 21
4th quarter3 drives, then Portland State 59, Cal Poly 21
Portland State Punt, 5 plays
11:41
Noah Serna kickoff for 42 yds
11:32
1st & 10 at own 37
Christian Grubb run for 3 yds to the PRST 40
10:55
2nd & 7 at own 40
Christian Grubb run for 8 yds to the PRST 48 for a 1ST down
10:15
1st & 10 at own 48
Christian Grubb run for 2 yds to the 50 yard line
9:36
2nd & 8 at the 50
Jalynnee McGee run for a loss of 1 yard to the PRST 49
8:53
3rd & 9 at own 49
Logan Gonzalez pass complete to Jalynnee McGee for 2 yds to the CP 49
8:14
4th & 7 at opp 49
George Triplett punt for 39 yds, fair catch by Xavier Oliphant at the CP 10
Cal Poly Punt, 6 plays
8:09
1st & 10 at own 10
Aiden Ramos run for a loss of 3 yards to the CP 7
7:27
2nd & 13 at own 7
Aiden Ramos run for 7 yds to the CP 14
6:43
3rd & 6 at own 14
Bo Kelly pass complete to Aidan Scott for 7 yds to the CP 21 for a 1ST down
6:09
1st & 10 at own 21
Aiden Ramos run for 5 yds to the CP 26
5:41
2nd & 5 at own 26
Aiden Ramos run for a loss of 1 yard to the CP 25
5:02
3rd & 6 at own 25
Bo Kelly run for 5 yds to the CP 30
4:16
4th & 1 at own 30
Ryan Collins punt for 46 yds
Portland State Result not recorded, 2 plays
4:04
1st & 10 at own 32
Jalynnee McGee run for 1 yd to the PRST 33
3:18
2nd & 9 at own 33
Jalynnee McGee run for 1 yd to the PRST 34
Play-by-play from CollegeFootballData.com, as its scorers wrote it. The clock is the time left in the quarter; the spot is from the side of the team with the ball.