Forsey ran for 166 yards and caught a 16-yard TD pass from Dinwiddie as the Broncos (7-1, 4-0 Western Athletic Conference) routed the Spartans (4-5, 2-2) for the second straight year.
Forsey scored on runs of 9, 2 and 36 yards, and he tied the school record for touchdowns scored in a season with 16.
It was the third straight loss after three consecutive victories for the Spartans, who avoided the shutout on a 27-yard pass from Scott Rislov to Jamall Broussard with 6:52 left to play.
Rislov was 32-of-52 for 256 yards, with 10 completions going to Charles Pauley for 105 yards.
The Spartans had a chance to strike early, but on their second drive they failed to score on a first-and-goal situation at the Boise State 5.
After San Jose State turned the ball over on downs, Dinwiddie completed two passes for 76 yards before he scored on a 2-yard keeper to complete the 96-yard drive.
By halftime, Boise State had generated 340 yards and led 28-0.
Dinwiddie broke his right ankle during a 34-10 loss to Washington on Sept. 7, but returned last week to complete 19 of 22 passes after replacing B.J. Rhode in the second quarter.
Rhode was 5-0 as the starter and ranked 11th in the country in quarterback efficency, but he went back to the bench with Dinwiddie's return. Rhode did come in for one drive in the fourth quarter and completed a 40-yard touchdown to Billy Wingfield with 5:56 to play.
Jay Swillie had four catches for 133 yards for the Broncos.
Boise State's offense came in averaging 60 points over its last four games. It finished with 650 total yards, to 358 for the Spartans.