Ross Bowers completes a pass to Patrick Laird for a 54-yard touchdown in the third quarter. (0:28)

CHAPEL HILL, N.C. -- Nothing felt foreign for Justin Wilcox in his first game as California's coach. The same was true for first-time starting quarterback Ross Bowers.

Neither seemed surprised by winning their debuts, either.

Bowers threw for 363 yards and four touchdowns, while Cal rallied from an early deficit during a game-changing sequence and beat North Carolina 35-30 in Saturday's opener.

"All due respect to North Carolina, we expected to win the game," said Wilcox, a defensive coordinator the past 11 seasons at Wisconsin, USC, Washington, Tennessee and Boise State.

Bowers, a sophomore, had never thrown a pass in a college game and had to win a preseason battle for the starting job. But he shook off two interceptions and came up with several good throws to help Cal win its first East Coast day game since 2012.

"I knew our game plan really well," Bowers said. "I knew where we wanted to attack and who we wanted to attack. I just trusted all the training we've done this past fall camp and spring ball and offseason workouts and stuff like that.

"I think I was confident I wouldn't say I was nervous. But running out for the first time I was like, `Man, it's finally here, I finally get my opportunity."

As for North Carolina, this was a jarring way to start Larry Fedora's sixth season against a team picked to finish last in its Pac-12 division.

"The problems were we made too many mistakes," Fedora said. "You cannot win games like that or any game like it when you make that many mistakes, and that was on both sides of the ball."

THE TAKEAWAY

California: Cal figured to look different after the past four years of the prolific "Bear Raid" offense and porous defense. The offense still put up strong numbers on the strength of several huge gains, while the defense never let a young UNC offense build any sustained momentum. Hard to imagine Wilcox could've asked for much more in his debut.

"We did over 1,400 live plays during camp," said linebacker Devante Downs, who ended the first half with an interception, "so we were ready for this."

UNC: The Tar Heels entered with a lot of questions on offense, most notably with the departure of quarterback Mitch Trubisky as the No. 2 overall NFL draft pick. And this game showed that the Tar Heels are going to need a lot of work to look anything like the fast-paced and high-scoring unit of past years.

"Obviously it wasn't the start we wanted," UNC QB Brandon Harris said. "It was a game I thought we should've won."

GAME CHANGER

The Tar Heels were up 17-7 when a targeting penalty on UNC defensive tackle Jalen Dalton changed everything.

Dalton was first flagged for a roughing-the-passer penalty for hitting Bowers late on a third-down incompletion. That gave Cal a first down to extend the drive, and a subsequent review led to Dalton's ejection for targeting.

On the next play, Bowers found Vic Wharton III deep on the left side for a 67-yard score with 68 seconds left before halftime, starting a game-changing sequence helped Cal outscore UNC 28-7.

"I'm really glad he hit me high," Bowers said, "because that gave us a lot momentum."

REPLACING TRUBISKY

The Tar Heels started Harris, an LSU graduate transfer, but he threw two interceptions and missed a wide-open Anthony Ratliff-Williams for a sure first-half touchdown. Eventually, redshirt freshman Chazz Surratt took on more work, throwing for 161 yards and a touchdown to go with a rushing score on the game's final play.

DEFENSIVE MISTAKES

UNC's defense returned its top three tacklers from last year and had more experience, but surrendered two scores of at least 50 yards in this one.

UP NEXT

California: Cal hosts Weber State in its home opener next weekend.

UNC: Things only get tougher. The Tar Heels host No. 16 Louisville and reigning Heisman Trophy winner Lamar Jackson next weekend.

---

More AP college football: http://collegefootball.ap.org and http://www.twitter.com/AP-Top25

---

Follow Aaron Beard on Twitter at http://www.twitter.com/aaronbeardap