Gonzaga quarterback Caleb Williams scores the Eagles’ first touchdown during Saturday’s 24-14 win over St. John’s in the WCAC semifinals. Gonzaga will play DeMatha next Sunday for the league title. (Doug Kapustin/For The Washington Post)

Gonzaga sophomore quarterback Caleb Williams made his way to the sidelines in front of a rambunctious Eagles student section and crouched low to the ground. Tears trickled down his cheeks Saturday afternoon at St. John’s in Northwest Washington as he stared at the scene in front of him.

Teammates were forming a dance circle, coaches were acting like young kids, and a sea of purple was caught up in a wave of celebration.

The No. 6 Eagles had taken down top-ranked St. John’s, 24-14, in the Washington Catholic Athletic Conference semifinals, earning a spot against DeMatha in the league’s championship game next Sunday at Catholic.

“We’re just going back to where I always want to be,” Williams said. “Back to the championship game.”

It didn’t come easily — or without controversy.

The Eagles (8-3) built a 17-6 lead late in the third quarter before the Cadets (9-1) rallied. Wide receiver Rakim Jarrett scored a 23-yard touchdown, and St. John’s converted the two-point conversion to trim its deficit to just three with 4:06 remaining.

The Eagles were unable to run out the clock, and the Cadets created some late drama — and controversy — when they drove inside the Gonzaga 5-yard line poised for the winning score. The Eagles forced a fumble by a St. John’s running back that was returned by Aaron Davis for a touchdown. Cadets coaches argued the runner was down — to no avail.

“It was all happening so fast,” Jarrett said. “You win games and lose games, and I’m not really upset about the call. If we played like we could have, we could have won like last week. But we didn’t, and so we didn’t deserve to win.”

The win snapped a run of losses by the Eagles to the Cadets — in last season’s WCAC title game and last week at Gonzaga in the teams’ regular season finale.

With the location flipped Saturday, it was the Eagles that had a perfectly executed game plan on a blustery afternoon. Keeping possession of the ball for the majority of the game, Gonzaga relied on the legs of Williams to eat up yards and keep the St. John’s offense off the field.

The game turned on big plays early, with St. John’s safety Quinten Johnson, a Michigan commit, getting a strip and score to give the Cadets a 6-3 lead at halftime.

Williams scored a three-yard touchdown off a keeper on the left side with 5:12 left in the third quarter to help Gonzaga regain the lead at 10-6. Then Gonzaga wide receiver Dean Engram, a Wisconsin commit, took a St. John’s punt back for a touchdown to give the Eagles a 17-6 lead with 2:32 left in the third quarter, setting the stage for the fourth-quarter drama.

“It just shows the fight that we have in us,” Williams said. “It is the fight we have in ourselves and each other.”