USC had to work for its victory over Arizona State in Tempe on Saturday night. Perhaps more than it expected to. And certainly more than it had been made to work in any of its first three games.

The fifth-ranked Trojans (4-0, 2-0 Pac-12) eventually got their win, a 42-28 victory over a beat up Arizona State Sun Devils team that was missing key players all over the field. The Trojan defense flew around and the USC offense produced the kinds of explosive plays we’ve grown accustomed to seeing from it.

Here are three takeaways from the evening.

Bye week rust for USC

USC was rolling on offense heading into its bye week. Caleb Williams and Co. were moving the football at will, tearing up secondaries, and lighting up scoreboards. Sometimes an early bye like the one USC had because of a Week 0 game can muck up your rhythm. Right as USC was getting rolling, it had to sit.

That’s probably what Trojan fans are hoping to chalk this Week 4 game up to. It took USC until the fourth quarter to really put the game to bed. And even then, it was a seven-point game with eight to play.

USC immediately answered with a 45-yard touchdown pass from Williams to Tahj Washington. Before that, it was a little more helter-skelter.

The Trojans fumbled the football away on their second drive. They punted after back-to-back touchdown drives to end the first half and then settled for a pair of field goals on the first two drives of the third quarter. USC’s third second-half possession ended on downs at the ASU 12. The next drive went three-and-out.

Williams still managed video game numbers. He completed 20 of his 31 passes for 322 yards and five total touchdowns (three passing scores). MarShawn Lloyd had 154 yards on 14 rushing attempts. The offense moved the ball at the end of the day, clearing 500 yards.

This was a closer game than anyone expected it would be. For the Trojans’ sake, hopefully the bugs are out of the system after the bye.

USC receiver rotation tightens

Mario Williams had a couple of drops. Only two other guys had more than three targets. It looks like USC is starting to pare down its receiver rotation, and it looks like Caleb Williams is starting to settle on his go-to targets.

Brenden Rice came into the season looking like a potential WR1. He was exactly that against the Sun Devils, bringing in seven of his nine targets for 133 yards and two scores. I like Rice as a “throw it up” option for Williams and I expect that connection to continue to grow in the coming weeks. USC doesn’t have another receiver like him on the roster. Rice just gets himself open.

And Zachariah Branch, though held quiet in the return game, brought in four of his six targets for 68 yards.

Dillingham’s touch immediately felt

If you knew Kenny Dillingham, or listened to him talk at any point this week in the run-up to the USC game, you knew the Sun Devils were going to be ready to fight against the Trojans.

Arizona State has been hit with body blow after body blow through the first four weeks of the season, but you have to give everyone involved credit. The spirit hasn’t broken.

Dillingham said earlier in the week he was taking over some play-calling duties from offensive coordinator Beau Baldwin to give the Sun Devils some juice.

“Me as the head coach, whenever I’m more involved in one side of the ball, they’re gonna feel a sense of urgency,” Dillingham said this week. “So I’m just trying to get more involved in that side of the ball this week to try to fuel that sense of urgency to try to get us something sparked.”

He was brilliant as a play-caller a year ago for Oregon, and I thought he pushed the right buttons against the Trojans.

The Sun Devils certainly had a spark with Cameron Skattebo throwing pass-backs to Drew Pyne and running fake handoffs for two-point conversions. After a three-and-out to open the game, ASU scored points off of four of its next five drives.

Skattebo was the difference-maker. He had 96 rushing yards and a touchdown, 79 receiving yards and a touchdown, and 42 passing yards with a near-miss that would have been a touchdown.

Arizona State wasn’t efficient. No one should have expected it to be with its third-string quarterback and its patchwork offensive line. USC doesn’t get adulation for plowing through that line time and time again — eight sacks, 14 tackles for loss; Alex Grinch sensed blood in the water and let his front seven hunt. But the Sun Devils still managed 353 yards of offense and showed signs of life.

And imagine that, energy on offense led to energy on defense. The Sun Devils played with juice against the Trojans. USC’s talent eventually wore the Sun Devils down. It was an encouraging effort from ASU for most of the evening nonetheless.