Kaepernick threw two touchdown passes to Vernon Davis, one after the first of three interceptions from Romo, and the 49ers cruised to a 28-17 win over the sloppy Cowboys on Sunday.
The 49ers (1-0) came in with questions about their defense, missing key players because of injuries or suspensions. Defensive tackle Ray McDonald got the start just a week after his arrest in a domestic violence case.
The secondary put all those issues to rest, getting Chris Culliver's 35-yard fumble return for a touchdown on the second play of the game and two of the Romo picks on their way to a 28-3 halftime lead.
"There's been a lot of rhetoric," said coach Jim Harbaugh, who improved to 4-0 in season openers. "This game was about steel in the spine. When it comes to 49er players, that's where they excel."
For one game, it didn't matter that linebacker Aldon Smith will miss the first nine games on a suspension over off-the-field issues and fellow linebacker NaVorro Bowman is out until midseason because of a knee injury.
After Culliver picked up a loose ball stripped from DeMarco Murray and ran untouched for a score, safety Eric Reid returned Romo's first interception 48 yards to the Dallas 2, setting up Kaepernick's second scoring toss to Davis.
"Our front seven did a good job getting pressure on the quarterback, and the secondary played well," Reid said.
Romo looked like a quarterback who was limited in the offseason and training camp, not a good start for a team trying to avoid tying a franchise record with a fifth straight year of missing the playoffs.
He didn't see Reid on a throw to Dez Bryant, then didn't see wide-open receiver Dwayne Harris for what would have been an easy touchdown. Instead he forced a pass to Jason Witten that was intercepted by Patrick Willis in the end zone.
The picks kept coming even after starting San Francisco cornerbacks Tramaine Brock (toe) and Culliver (concussion) had been knocked out of the game. Backup Perrish Cox had his second career interception when Romo threw deep to Bryant in double coverage.
"I felt comfortable," said Romo, who threw for 281 yards and a late touchdown. "Just couple poor decisions that I made tonight."
It didn't take Kaepernick long to put that rough preseason behind him, leading the 49ers 80 yards in just three plays on their first possession. He stepped out of an ankle tackle by Jeremy Mincey and threw 29 yards on the run to Davis, who juggled the ball as the crossed the goal line before holding on for a 14-3 lead.
The 49ers also had an efficient drive in their 2-minute offense to finish the first half, with Kaepernick throwing for 39 yards leading to Carlos Hyde's 4-yard scoring run for a 28-3 halftime lead.
"Everyone was ready to get to the season, ready to play and ready to start putting these wins together," said Kaepernick, who was 16 of 23 for 201 yards without an interception.
When Romo wasn't throwing interceptions, the Dallas offense was getting false-start penalties and using timeouts to avoid delay-of-game penalties.
Part of the problem was the noise from large swaths of red-clad 49ers fans seeing their team for the first time in the regular season in the $1.2 billion home of the Cowboys.
"I noticed that," Harbaugh said of the crowd. "Much appreciated. Means a lot."
Murray bounced back from the fumble on his first carry of the season to get 71 yards in the first quarter and 118 with a touchdown for the game.
But he didn't get the ball on second-and-1 from the San Francisco 2 with a chance to tie the score early. Instead, Romo was sacked and Dallas settled for a field goal.
49ers RB Frank Gore had 63 yards rushing, becoming the 29th NFL player with 10,000 for his career. He's also the 10th player with 10,000 yards and 10 seasons with the same team. ... Bryant stayed down for several moments after Reid's interception return and later was treated for dehydration. He had four catches for 55 yards. ... Davis now has 53 receiving touchdowns, most of the NFL since 2009, playoffs included. Detroit WR Calvin Johnson, who plays Monday night, has 52. ... Cowboys S C.J. Spillman and LB Justin Durant left the game with groin injuries. ... The Cowboys lost for the first time (11-1) when Murray, a fourth-year back, had at least 20 carries.
The civil lawsuit filed last week by Texas state Sen. Royce West seeks damages of between $100,000 and $200,000 from Cowboys WR Dez Bryant.
Nearly 600 kids and dozens of coaches joined Von Miller at his football camp not far from Broncos headquarters, which the linebacker has avoided since shortly after leading Denver to a title.
Bills owner Terry Pegula said in a radio interview Wednesday that the NFL has asked him about plans to build a new stadium, and he said the team is "evaluating" options.
Jayrone Elliott had to follow the victory parade of his beloved Cleveland Cavaliers on Twitter, but the experience was worth the sacrifice.
Rachel Nichols shares her thoughts on why championship parades are so meaningful to the sports world, calling them "the physical embodiment of joy."
The Colts are starting training camp earlier than normal because they're playing in the Hall of Fame game against the Packers on Aug. 7.