Forsey, who has not been invited to any of the postseason all-star games, scored his 30th, 31st and 32nd touchdowns of the season, extending his school and Western Athletic Conference records.
It is the second-highest total in NCAA Division I-A history, topped only by Barry Sanders, who scored 38 touchdowns for Oklahoma State in 1988.
Boise State, the nation's top scoring team at 46.9 points per game, managed only 107 yards in the first half and trailed at intermission, 10-7.
But the Broncos scored touchdowns on their first two possessions of the second half to take control. Forsey put Boise State ahead for good with a three-yard touchdown run with 10:24 left in the third quarter before Ryan Dinwiddie scored on a one-yard keeper to make it 21-10 with four minutes left in the period.
Boise State offensive lineman Rob Vian felt the 10 a.m. local kickoff time may have had something to do with the Broncos' slow start.
"I don't think we woke up until halftime," Vian said.
Dinwidde had a relatively quiet game, completing 17 of 32 passes for 160 yards.
The Broncos put away the contest with a pair of touchdowns in the final 5 1/2 minutes. Forsey scored his third touchdown on a nine-yard scamper before Dinwiddie tossed a three-yard strike to Lou Fanucchi with 27 seconds left.
Boise State (12-1) matched a school record with its 11th straight victory and won for the 26th time in its last 27 games on the blue turf at Bronco Stadium. The Broncos went 8-0 in the Western Athletic Conference.
The 34 points were the second-lowest total of the season for Boise State, which surpassed 50 on five occasions. The Broncos' only loss was a 41-14 defeat at Arkansas on Sept. 7.
Iowa State (7-7) finished a once-promising season at .500. The Cyclones started 6-1, but were victimized by a brutal schedule down the stretch and dropped six of their last seven games. Iowa State lost road games to Oklahoma, Texas, Kansas State, Colorado and Boise State.
Boise State's defense also stepped up as the Cyclones went three-and-out on their first four possessions of the second half.
Seneca Wallace, considered a legitimate Heisman Trophy candidate midway through the year, ended his career in disappointing fashion, completing just 13 of 38 passes for 107 yards. He also missed more than a quarter after suffering a knee injury on Iowa State's first possession.
The Cyclones had a chance to get back in the game when Anthony Forest blocked a punt, giving Iowa State possession at the Boise State 32 with four seconds left in the third quarter. But Wagner fumbled on the next play and rover Quintin Mikell recovered for the Broncos.
"Iowa State had a good defense," Mikell said. "It's funny. If we don't score 60 points, people say what's wrong with the offense. I thought they did a good job."
Iowa State crossed midfield on its next possession, but turned the ball over on downs at the Broncos 45 with nine minutes left.
The Cyclones finally got in the end zone again on Lane Danielson's three-yard reverse on fourth down with 2:34 left.
After Iowa State opened the scoring on Adam Benike's 34-yard field goal in the first quarter, the Broncos took a 7-3 lead on Forsey's four-yard run with 9:38 left in the first half.
The Cyclones answered on Wallace's four-yard pass to Bob Montgomery with 2:29 left in the half.