SPANAWAY – Sam McPherson repeatedly found holes, slipped tacklers and gained yards.

He carried the Bothell football team past Graham-Kapowsin for a 52-28 victory in the opening round of the Class 4A state playoffs with 296 rushing yards — 346 yards of total offense — and four touchdowns at Art Crate Field.

“What I’ve come to learn from Sam McPherson is he cannot surprise me,” said Bothell coach Tom Bainter. “He is just amazing.

He certainly surprised No. 3 Graham Kapowsin, which entered the game undefeated at 10-0 and had allowed and average of 17.1 points per game.

Save 75% on a Digital Subscription Today

“He is just a great running back,” said Eagles coach Eric Kurle. “Had great speed, keeps his feet going and we didn’t tackle well.”

GK’s senior running back Teague James, who had more than 1,800 yards rushing on the season coming in, had another stellar performance, rushing for 240 yards in what would be his final game.

Heavy rain and wind kept both teams’ offenses on the ground.

McPherson ran for 173 yards in the first half, with a huge chunk coming on his first carry — a 98-yard touchdown run.

Bellevue 48, Glacier Peak 6

Max Richmond had touchdown runs of 47 and 44 yards, Budda Baker had two TD runs of his own and the No. 1 Wolverines had no trouble knocking Glacier Peak out of the 3A state playoffs for the third time in six years.

Bellevue jumped out to a 34-0 halftime lead en route to its 51st consecutive victory. Richmond finished the first half with 115 yards on seven carries, and Baker had 72 yards on six carries and an interception — all in the first half as well.

Bellevue advances to face Peninsula — 30-7 winners over Bonney Lake on Friday — in the quarterfinals.

Eastlake 34, Union 27

The Wolves continued their surprising season under first-year coach Don Bartel by earning a spot in the 4A state quarterfinals with a win over Union of Vancouver.

Eastlake quarterback Blue Thomas had the game-winning touchdown in a back-and-forth affair, punching it in from one yard out with under seven minutes left in the game. The Wolves then intercepted a Union pass with 1:53 left to seal the win, booking a matchup next weekend against the winner of Saturday’s game between Cascade and top-ranked Camas.

Drew Lewis added two touchdown runs for the Wolves, including a 36-yard burst that put them up 27-20 in the third quarter.

TJ Cotterill of The Tacoma News Tribune contributed to this report.