Oregon football fans waited an entire year for the Ducks to avenge last year’s collapse to Stanford, and Saturday they were treated to a slightly boring, but satisfying, 21-6 victory over the Cardinal.

Oregon is lucky Stanford quarterback KJ Costello injured his throwing hand and Bryce Love graduated, but more than that, Duck coach Mario Cristobal is lucky to have quarterback Justin Herbert running his offense and coach Andy Avalos coordinating his defense.

Herbert threw three touchdown passes, two of them to tight end Jacob Breeland, who seems to be the Ducks’ only deep threat at present. Offensive coordinator Marcus Arroyo called Breeland’s number twice at very opportune times. After games and games of criticism about the lack of creative play calling, Arroyo injected some pizzaz into the attack at just the right time and it resulted in exciting touchdowns.

The defense was outstanding, outside of a bit of poor tackling at times and the lack of a powerful pass rush against one of the banged-up offensive lines in the Pac-12. Oregon did wear down the Cards' offensive line and scored five sacks, but you got the feeling there should have been more.

Nevertheless, the Ducks did not allow their opponent to defile their end zone, which is a great achievement in this day and age of wide-open offensive football. It was the third straight game without allowing an touchdown.

At halftime, the Ducks, and Herbert, looked in total control, leading 14-3. After giving up a field goal on Stanford’s first drive of the game, the defense dug in, holding the Cardinal three-and-out twice and forcing punts on their final four drives of the half.

The Duck defense didn’t look sharp on that first drive, missing eight tackles and allowing running backs positive yardage after contact. Costello hurt his throwing thumb on the helmet of one of his offensive linemen who was attempting to block a pass rusher. It was clear Costello was not the same quarterback who carved up Oregon’s secondary in last year’s disappointing defeat.

On three occasions, Duck defensive backs used excellent technique covering Stanford’s big receivers who were attempting to “jump ball” the shorter Oregon defensive backs, by forcing them out of bounds before the ball got to them. That is an obvious difference from last year’s Oregon defensive players, including linebackers. In nearly all instances, there were a bunch of defenders around the pass receivers most of the time. Avalos has done a great job of bringing a very strong defensive staff together and the teamwork is very evident in the play of the defensive unit.

As a team, tackling became crisper and the pass rush started to show a bit at the end of the second quarter. The defense thought it had scored on a fumble recovery by Sampson Niu, when Costello was sacked in the final 90 seconds, but a review showed he was down before the ball came loose.

Herbert and Breeland gave the Cardinal a little of their own medicine when the quarterback threw a back shoulder fade to Breeland in the end zone for Oregon’s second touchdown. To that point, it was as sweet a moment as Herbert has delivered so far this season, especially after the six jump balls for touchdowns Stanford’s big guys have scored against the Ducks the past two years.

Stanford coach David Shaw appeared to be using a conservative approach to the game, trying to run the ball behind his freshman dominated offensive line and working to protect his quarterback. He succeeded in keeping the game close, but Oregon would get the ball to begin the second half and it was going to be interesting if Duck coaches would make adjustments to put more distance between them and the Cardinal.

Punter Blake Maimone did a fine job of pinning Stanford deep in its own end in the second half. With the limitations of their offensive personnel, the Cardinal could not rise above bad field position their first three possessions of the second half: their own 8-yard line twice and then the 10-yard line — hard to rally when you have to go 90 or 92 yards to do it.

The Duck offensive line struggled to compete, allowing four sacks and numerous pressures when their big-play guy Herbert was running for his life. The run game did not produce any significant yardage: 61 yards in 30 carries, which is poor, especially by an offensive line that has set a goal of winning the Moore Award for the best offensive line in the country.

Again, this came against a defensive front that is not considered top shelf, but injuries to starting center Jake Hanson caused some shuffling of personnel, which probably was one reason for some of the chaos up front. There were several high center snaps, which for those of us who are still suffering PTSD from last year’s Stanford loss, cause convulsions and cold sweats. Luckily, Herbert is 6-foot-6 and a great athlete, and Oregon fans were spared a repeat nightmare.

Herbert threw a touchdown pass on the Ducks’ second drive of the game, which further extends his NCAA record to 32 straight games with a scoring toss. For the game, Herbert completed 19-of-24 passes, with two poor passes and a drop.

Cristobal’s decision to slow the game down in the second half actually helped Stanford — it was never going to muster the offense good enough to keep up with Herbert, if Justin was let loose. As it was, the Duck offense slowed down, too, but Cristobal’s strategy worked out just fine; he is learning he can lean on his defense to help the offense out and not force him into taking more risks than he wants to.

Shaw’s game plan seemed to be one of conservative, close-to-the-vest type — keep the game close and we’ll catch them at the end, just like last year. But Stanford was just too limited, too beat up, to muster a serious threat — that and a tough, competitive Oregon defense that is getting better, game-by-game.

The Ducks now get a day off or two, fully deserved after putting behind them a crushing defeat to begin the season with three straight wins. The Ducks have won a big conference game on the road, and Cristobal managed the game without the disaster that plagued him last season. That’s a good start to meeting the challenges of playing four tough games on the road in the Pac-12. Those challenges will be more difficult than this game, but the Ducks still have lots of room to grow.

Former Oregon player Ken Woody coached college football for 18 years. He conducts a weekly coach's corner from 6 p.m. to 7:30 p.m. Wednesdays at the 6th Street Grill.