STANFORD, Calif. -- No. 5 Stanford built a big lead and then held on for a 42-28 victory over No. 23 Arizona State on Saturday at Stanford Stadium in the Pac-12 opener for both teams.
Stanford (3-0) bolted to a 29-0 halftime lead and led 39-7 after three quarters.
Quarterback Kevin Hogan did not play on Stanford's next two possessions, the Cardinal apparently believing the margin was sufficient. Arizona State quarterback Taylor Kelly then threw three fourth-quarter touchdown passes to reduce the deficit to 39-28 with 6:18 left.
Hogan returned and the Cardinal got a field goal to end the threat by the Sun Devils (2-1).
Kelly finished 30-for-55 for 367 yards, two interceptions and three scores.
Hogan was 11-for-17 for 151 yards, two touchdowns (both to Ty Montgomery) and one interception.
Arizona State managed just 50 rushing yards against the Cardinal defense and Stanford ground out 240 yards, including 95 by Tyler Gaffney.
Trailing 29-0, Arizona State took less than two minutes to get on the scoreboard in the second half. Marion Grice's 2-yard run reduced the Cardinal lead to 29-7.
After Jordan Williamson kicked a 20-yard field goal to make it 32-7, Gaffney scored on a 16-yard run to give the Cardinal a 39-7 lead after three quarters.
Stanford safety Ed Reynolds was ejected for a helmet-to-helmet hit on Kelly in the fourth quarter.
Stanford dominated the first half while taking a 29-0 lead.
Arizona State managed just 7 rushing yards on 13 attempts in the first half. Kelly was 14-for-23 for 96 yards before halftime, and he threw an early interception that turned the game in Stanford's favor.
That interception by Cardinal defensive end Josh Mauro set up the game's first touchdown. A strong pass rush on the play by Stanford's James Vaughters hurried Kelly, who threw a desperation pass to the sideline that the 282-pound Mauro intercepted and returned 25 yards to the Arizona State 17-yard line.
Three plays later, Hogan threw a 17-yard touchdown pass to Montgomery.
Stanford drove 90 yards in nine plays to make it 13-0 late in the first quarter. Kelsey Young's 32-yard run and Devon Cajuste's 34-yard reception set up Gaffney's 1-yard scoring run. Jordan Williamson missed the extra point attempt.
Anthony Wilkerson had runs of 8 and 18 yards before he scored on a 12-yard run on a 72-yard drive that put Stanford ahead 20-0.
Hogan's 30-yard touchdown pass to Montgomery with 4:49 left in the second quarter made it 27-0.
Stanford added a safety in the closing seconds of the half when Matt Haack punted the ball into the back of one of his blockers. The ball bounded back into the end zone to make 29-0.
NOTES: Arizona State NT Jaxon Hood left the game in the first quarter with an undisclosed injury. ... Heavy rain fell in the hours preceding the game, but the rain stopped and the sky cleared shortly before kickoff. ... Stanford entered the game riding a 10-game winning streak, which represented the second-longest active winning streak among FBS schools. Ohio State won its 16th consecutive game earlier Saturday. ... Arizona State had not defeated a top-10 team since 2002, when it beat No. 6 Oregon. This was the Sun Devils' first game against Stanford since 2010. ... Arizona State DT Will Sutton, the 2012 Pac-12 defensive player of the year, had just three tackles and no sacks in the Sun Devils' first two games. ... Stanford DE Henry Anderson missed the game with a knee injury that is expected to keep him out a few more games.