The third-year sophomore from Eureka, who has excelled on special teams this season, blocked a first-quarter punt into the end zone for a safety that gave the Trojans a 9-0 lead.
Then late in the game, Vainuku broke loose on a 52-yard run for the game's final touchdown with 2:19 to play.
Vainuku also blocked punts against California and Arizona; the one at Cal was returned for a touchdown by cornerback Josh Shaw.
He finished Saturday's game with 70 yards in five carries, and also caught two passes for 11 yards.
Bailey, Williams make key plays
USC safety Dion Bailey intercepted a pass and defensive end Leonard Williams forced a fumble to set up second-quarter touchdowns that helped the Trojans take a 23-0 halftime lead against Colorado on Saturday night at Folsom Field.
Williams, who has been nursing a shoulder injury, sacked Colorado quarterback Sefo Liufau with 7:22 left in the first half and end George Uko recovered the ball for the Trojans. Tailback Javorius Allen scored five plays later to put the Trojans ahead, 16-0.
Bailey, who had a key interception last week against Stanford, picked off a Liufau pass with 2:34 left in the second quarter. The play set up Cody Kessler's 20-yard touchdown pass to Nelson Agholor for a 23-0 lead.
Bailey has a team-best five interceptions.
Tight ends shine
Tight ends Xaxier Grimble and Randall Telfer played leading roles in the No. 23 Trojans' victory.
Grimble, a junior from Las Vegas, had a season-high six catches, all in the first half, for 46 yards, including four during a second-quarter drive that ended with Cody Kessler's touchdown pass to Nelson Agholor. Grimble's previous high in a game this season was three catches.
Telfer, a junior from Rancho Cucamonga, caught a 10-yard scoring pass early in the third quarter to give USC a 30-7 lead.
Lee stays behind
Receiver Marqise Lee, who suffered a shin injury during last week's victory over Stanford, did not travel with the Trojans for Saturday night's game.
Lee, the 2012 Biletnikoff Award winner, stayed in Los Angeles to continue rehabilitation, USC announced. He is expected to ready for next Saturday's game against UCLA at the Coliseum.
Lee has experienced numerous injuries this season. He hurt a shoulder during training camp and suffered a knee injury against Arizona State on Sept. 28. He aggravated the knee injury Oct. 19 against Notre Dame.
Lee said he suffered the shin injury late in the fourth quarter of the Trojans' 20-17 upset of Stanford. But he came back to catch the key fourth-and-two pass that kept alive the Trojans' game-winning drive.
Lee, who set a Pac-12 record with 118 catches last year, has 44 receptions and has scored two touchdowns.
The 29-degree temperature at kickoff tied for the second lowest in USC history. USC played in 29-degree temperatures at Notre Dame in 1949, '52 and '59.
In 1957, the Trojans played in 20 degrees and snow at Notre Dame.
Cornerback Kevon Seymour suffered an undisclosed injury with just more than 13 minutes left in the first quarter. The sophomore was hurt on a Colorado pass play and didn't return.
Senior Torin Harris replaced him.
Colorado receiver Paul Richardson, who played at Gardena Serra High, went into the game with 71 receptions. He added eight catches to that total Saturday, all in the second half, for 88 yards with one touchdown.
Buffaloes fullback Christian Powell, who played at Upland High, rushed for 41 yards in eight carries.
The 6-foot, 230-pound sophomore was recruited by USC as a defensive lineman.