Ben Queen-USA TODAY Sports

Max Duggan threw for 341 yards and three touchdowns as No. 7 TCU earned a 41-31 win over West Virginia on Saturday at Morgantown, W.Va.

TCU (8-0, 5-0 Big 12) is undefeated through its first eight games for the first time since 2015.

Duggan completed 16-of-28 passes and was aided by running back Kendre Miller, who rushed for 120 yards and a TD on 12 carries. Taye Barber, Quentin Johnston and Savion Williams were on the receiving end of Duggan's touchdown throws.

JT Daniels finished with 275 yards, two touchdowns and an interception on 23-for-39 passing for WVU (3-5, 1-4). CJ Donaldson carried the ball 19 times for 104 yards and a pair of scores, and Sam James had six catches for 95 yards.

Daniels' 23-yard scoring strike to Reese Smith cut West Virginia's deficit to 34-31 with 4:12 remaining. Duggan then threw an interception to set WVU up at its own 16, but a three-and-out killed any chance of a comeback.

Casey Legg made a 33-yard field goal to pull the Mountaineers within 28-24 with 11:05 left in the third quarter. After the defense forced a three-and-out, WVU had a chance to take the lead, but couldn't convert a fourth-and-goal at the Horned Frogs 4-yard line.

TCU advanced to the Mountaineers' 1 on the ensuing drive. However, the WVU defense perfectly read an end-around, tackling Johnston for a loss of 11 yards and forcing the Horned Frogs to settle for Griffin Kell's 30-yard field goal and a 31-24 lead early in the fourth quarter.

Daniels capped a 15-play, 89-yard drive with a 5-yard touchdown pass to Justin Johnson Jr. with 1:35 left in the first half, but Emani Bailey's 30-yard rush to the end zone gave TCU a 28-21 edge at the break.

Miller also scored on the ground in the first half for the Horned Frogs, who racked up 332 total yards of offense through the first 30 minutes of action. West Virginia tallied 305.

After Donaldson's 1-yard rushing touchdown opened the scoring, Duggan found Barber for a 71-yard TD on TCU's following possession to knot things at 7-all.

More must-reads:

TODAY'S BEST
Oilers crush Panthers in Game 4, stay alive in Stanley Cup Final
Dodgers ace leaves game against Royals due to triceps tightness
Sam Mayer uses overtime restart to win Xfinity Series' return to Iowa
Liberty forward pushes herself into MVP conversation with big game vs. Aces
Tiger Woods makes big admission about his U.S. Open future
Cubs P 'Mike' Imanaga continues hot start vs. Cardinals
Celtics' All-Defensive guard reportedly could replace Kawhi Leonard on Team USA
Tee Higgins' contract decision adds pressure on Bengals in 2024
One-time Defensive Player of the Year open to reunion with former team
College baseball has become too regional for its own good
Three Padres prospects who should be untouchable in trade talks
Connor McDavid's history-making night helps Oilers stave off elimination
Astros scratch Justin Verlander as nightmare season continues
Watch: Oilers chase goaltender Sergei Bobrovsky from Game 4
Watch: Rockies third baseman takes advantage of Pirates laziness' to steal home
Pirates place young catcher on concussion IL
Watch: Game 4 of Stanley Cup Final gets off to chaotic start
Rockies 1B, former NL MVP diagnosed with internal oblique strain
NBA insider shares update on J.J. Redick's candidacy for Lakers HC job
Nationals hurler DJ Herz makes impressive history in third career start