McNeal netted the TDs en route to 163 yards on 31 carries. He also hauled down a scoring pass as the Trojans (7-3, 5-3 Pac-12) snapped a two-game losing streak.
Matt Barkley went 20-for-33 for 222 passing yards with three touchdowns for USC, which was battling with UCLA for the top spot of the Pac-12's South Division.
The Sun Devils (5-5, 3-4), meanwhile, dropped their fourth straight as Taylor Kelly was picked off three times while going 19-for-30 with 174 yards and a touchdown.
Teacher apologizes for showing sexual image of herself in class
Susan Sarandon 'very excited' about daughter's pregnancy