The Panthers (4-1, 2-0 Big East) have beaten the last three nationally ranked teams they have faced, including No. 23 Cincinnati and No. 2 West Virginia in 2007. They have won two of the last three games with South Florida (5-1, 0-1) in Tampa.
Stull finished 16-for-27 for 228 yards.
Quarterback Matt Grothe accounted for most of South Florida's offense, but the Bulls didn't score any points on offense in the first half. Grothe was 11-of-20 for 129 yards and rushed 11 times for 25 yards, including a 1-yard keeper for a TD in the third.
Grothe threw a 22-yard touchdown pass to Jessie Hester in the fourth quarter to give the Bulls a 22-20 lead. But Pittsburgh came right back to take the lead, covering 60 yards on three plays in a quick drive that ended with a 3-yard run by McCoy. The 2-point attempt failed.
McCoy, a sophomore, rushed 28 times for a game-high 142 yards, his second straight game over 100. Mike Ford ran 14 times for 73 yards for the Bulls.
South Florida struggled in the first half with the offense was held to just 77 yards. Grothe was 5-of-12 with an interception. The pick by Don DeCicco was the first interception for Grothe in 107 passes and just his third in six games.
The Bulls had a 42-yard field goal attempt blocked by Greg Williams, and on their next field goal attempt, South Florida faked the kick but backup quarterback Grant Gregory failed to convert on fourth down.
The Bulls scored first when Quenton Washington broke through untouched and blocked a punt by Dave Brytus. Charlton Sinclair picked up the fumble, returning it 27 yards for the score.
However, Pittsburgh scored on its next drive with Stull hitting receiver Jonathan Baldwin for a 52-yard touchdown pass. The Panthers took a 14-7 lead on a 6-yard run by McCoy and extended the lead to 10 when Conor Lee hit a 35-yard field goal with 22 seconds left in the first half.
Lee's 31-yard field goal made it 20-14 in the fourth.
All-America junior defensive end George Selvie did not start for the second straight game for South Florida, although he entered the game with 10:22 left in the second quarter and recorded two tackles, one for a loss.
South Florida forced two fumbles, both recovered by linebacker Kion Wilson, the first two of his career.
No. 15 Utah 31, Oregon State 28
SALT LAKE CITY - Louie Sakoda kicked a 37-yard field goal as time expired to cap an 11-point rally over the final 89 seconds and give No. 15 Utah a 31-28 victory over Oregon State on Thursday night.
The Utes (6-0) tied the game 28-28 on a 25-yard touchdown pass and 2-point conversion by Brian Johnson with 1:29 remaining. Utah's defense held the Beavers (2-3) on a three-and-out and the Utes got the ball back 23 seconds later to set up the final drive and Sakoda's game-winner.
Utah got the ball back at its own 45 with 1:06 left, and Johnson moved the Utes to Oregon State's 24 where the Utes called a timeout with 2 seconds left. Sakoda kicked his third field goal of the game and the Utes' hopes for a Bowl Championship Series berth were still alive - barely.
Freshman Jacquizz Rodgers ran for 101 yards and a touchdown for the Beavers, who were coming off their upset of then-No. 1 Southern California last Thursday. Rodgers had 186 yards and two touchdowns in Oregon State's first win over a No. 1 team in 41 years.