EAST LANSING, Mich. (AP) -- Taysom Hill guided Brigham Young through the third quarter, and Jamaal Williams took over in the fourth.
Williams ran for 163 yards and two touchdowns, and BYU beat Michigan State 31-14 on Saturday, sending the Spartans to their third straight loss. Hill ran for a touchdown and threw for another in the second half.
"I'm definitely not surprised and I don't think anybody on our team is surprised," Hill said. "We knew we were very capable of playing the way that we did and being a good football team. But now that we did that, we knew that we were capable of it and it's given us a lot of confidence moving forward and we'll continue to build off of it."
The Cougars (3-3) largely shut down the Spartans (2-3) after Michigan State scored a touchdown on its first drive. BYU trailed 7-3 at halftime but scored touchdowns on all four of its second-half possessions -- not including its final drive, which consisted only of kneel-downs.
Hill's 4-yard touchdown pass to Colby Pearson put the Cougars ahead, and he then added a 12-yard scoring run early in the fourth quarter.
Michigan State has lost three in a row for the first time since early in the 2009 season. The Spartans pulled starting quarterback Tyler O'Connor in the fourth quarter and replaced him with Damion Terry. Michigan State began to move the ball on Terry's first drive, but an interception by Michael Davis ended that possession.
Spartans coach Mark Dantonio said he didn't blame O'Connor for the loss, but he did not commit to any quarterback as the starter going forward.
"If you're not productive and you've got seven points on the board, then you've got to make a change for the sake of change," Dantonio said. "I don't think he was playing that badly."
Williams, who rushed for 286 yards in a win over Toledo the previous week, added an 8-yard touchdown run to make it 24-7. After Terry scored on a 1-yard sneak, Williams broke free for a 62-yard run on BYU's ensuing drive. His 1-yard TD run made it 31-14.
BYU had 78 offensive plays to Michigan State's 53.
BYU: For the first time all season, the Cougars played in a blowout -- and they were on the right side of it. They also have two-point wins over Arizona and Toledo, as well as three-point losses to UCLA and West Virginia and a one-point loss to Utah.
"Having all those close games earlier paid off this week," coach Kalani Sitake said. "Having our guys keep fighting and keep believing in what we are doing"
MICHIGAN STATE: Things have gone from bad to worse for the Spartans, who were already in trouble after losing to Wisconsin and Indiana. With games against Michigan and Ohio State still to come, Michigan State needs to snap out of this slump or it can't even be assured of going to a bowl.
"As I told our football team after the game, I believe this program has been built on a good, solid foundation. It's taken nine years to do that," Dantonio said. "The ride up the mountain's very difficult at times, and that ride down sometimes is very quick."
Michigan State drove 72 yards in 15 plays on its first possession, taking a 7-0 lead on an 8-yard touchdown run by Gerald Holmes. The Spartans managed only 31 yards total on their next five drives before O'Connor was pulled.
"It's 10 guys doing things right, not 11," O'Connor said. "And it's someone different every time, I think, and it's just overall chemistry."
KEEPING IT GOING
Part of the reason BYU had such a big advantage in total plays was because the Cougars went 10 of 16 on third down. BYU was 6 of 7 in the second half.
BYU: The Cougars return home to face Mississippi State on Friday night.
MICHIGAN STATE: The reeling Spartans resume Big Ten play with their Homecoming game against Northwestern on Saturday.