Rice-Eccles Stadium was rocking with two early Utah touchdowns, but Marqise Lee and USC got the last laugh, as the 13th-ranked Trojans overcame an early deficit and downed the Utes, 38-28.
Lee caught 12 passes for 192 yards, including an 83-yard touchdown grab early in the fourth quarter that gave USC some breathing room.
Matt Barkley shook off turnovers on the first two possessions and finished with 303 yards and three touchdowns on 23-of-30 attempts for the Trojans (4-1, 2-1 Pac-12), who have won two straight after losing at Stanford.
"First of all, credit Utah. They came out and the crowd was electric as we thought it would be. The players came out and played really physical right off the bat and made some big plays," USC coach Lane Kiffin said.
Jon Hays tossed for a pair of scores for Utah (2-3, 0-2), but was held to 160 yards and threw an interception that was returned for a TD by Nickell Robey.
The Utes were thinking upset just 47 seconds in when Barkley had a shotgun snap trickle through his legs. The senior quarterback picked up the loose ball at his own 8-yard line, but had it immediately stripped by Nate Fakahafua, who took it in for a touchdown.
"What a great way to start the game. It got the crowd into it," Fakahafua said. "I just grabbed (Barkley) and did what I used to do in high school, just ripped the ball away."
Just two snaps later, Barkley and fellow senior Khaled Holmes had a bad snap exchange, and Utah recovered the fumble at the Trojans' 13. After a 2-yard rush, Kenneth Scott secured a fade pass in the left corner of the end zone, and the underdog Utes were suddenly ahead 14-0.
Lee got the Trojans moving on their next touch, bringing in three passes for 42 yards to set up Silas Redd's 3-yard touchdown run.
USC's Andre Heidari booted a 32-yard field goal early in the second, and the Utes responded with an 8-play, 81-yard scoring drive, with Hays finding DeVonte Christopher across the middle for an 18-yard touchdown.
The Trojans scored the next 28 points to quiet the raucous crowd.
On the first play after going down 21-10, Robert Woods' 41-yard reception, coupled with a roughing the passer penalty, moved the ball well into enemy territory.
Randall Telfer then brought in a 23-yard touchdown pass with one hand, and the Utes fumbled at their own 34 on the first play of the ensuing possession.
The Trojans capitalized on the short field, as Barkley hit Woods for the go- ahead scored on 3rd-and-goal from the six.
Coleman Petersen missed a 48-yard field goal that would have tied it going into the break, and Utah picked up just one first down on its first three possessions of the second half.
Heidari was wide right on field goal tries of 40 and 44 yards to keep it a 3- point game, but Lee got behind the secondary, hauled in Barkley's heave and made a defender miss during his critical 83-yard touchdown catch 2:50 into the final quarter.
Faced with a 3rd-and-7 on the ensuing drive, Hays threw an ill-advised pass in the flat that Robey picked off and went 38 yards the other way untouched.
Kelvin York's 5-yard TD run in the final minute made the final score somewhat more respectable.
"We didn't get it done, but I'm proud of how we fought. We played the entire 60 minutes," Utah coach Kyle Whittingham said.
USC has not been shut out in its past 186 games, tying the school record set from 1967 to 1983. USC's last shutout loss was in 1997 at Washington, and the Trojans visit the Huskies next Saturday ... Barkley has 12 career 300-yard passing games ... Woods, who took a big helmet-to-helmet hit in the second quarter but returned to the game, caught six passes for 69 yards ... Redd led all runners with 77 yards on 17 carries, while John White totaled 68 yards on 13 carries for Utah ... Utah had a touchdown pass overturned in the final minute of the first half due to an ineligible receiver downfield penalty, one of 13 infractions for the hosts ... The Trojans were whistled for 14 penalties ... This was USC's first trip to Salt Lake City in 95 years.