Ficken's kick gave Penn State a 10-7 lead which he later extended with a 28-yard field goal with under a minute to play.
Zander Diamont was 13 of 28 for 68 yards and ran for 58 yards for the Hoosiers (3-6, 0-5), who have lost four straight.
Tevin Coleman rushed for 71 yards and finished with less than 100 rushing yards for the first time in 10 games.
Belton's fifth scored of the year came on a 92-yard run and was the longest rushing touchdown by a single player in Penn State history.
Both teams struggled to get much going on offense for much of the game and Penn State came up with just enough big plays.
It wasn't all that pretty, though.
The Nittany Lions had negative-4 rushing yards and moved the ball just 56 total yards in the first quarter. By halftime, Penn State and Indiana combined for 1 of 14 on third down conversions.
It was the same story for two teams trying to climb out of a slump.
Still the Nittany Lions found a way to score 13 unanswered points after the Hoosiers took a 7-0 lead late in the first half.
Mark Murphy scored on a 53-yard interception return to give Indiana the lead in the second quarter.
But it didn't last long.
On the first play following the kickoff, Belton scored to tie the game with 3:37 remaining in the half.
Belton's 92-yard run tied the longest play from scrimmage in program history and he is the only player in Penn State's history to score from that distance.
Back in 1973 the Nittany Lions scored on a 92-yard play, but that was by two players and included a fumble.
Penn State had a chance to take a lead early on in the second quarter, though, but Hackenberg was sacked at the 6 before Indiana's Darius Latham blocked Ficken's 23-yard field goal attempt.
The sophomore quarterback was sacked five times, including two that came in a fourth quarter drive with a shot at putting the game out of reach.
After Penn State took a 10-7 lead, Indiana's Oakes Griffin missed a 51-yard field goal attempt with a chance to tie the game early in the fourth quarter.
The Hoosiers had another opportunity midway through the fourth quarter when Greg Gooch intercepted a pass by Hackenberg - his 12th interception of the season. But Indiana couldn't put a drive together. Diamont threw two incompletions and was sacked for a loss of eight yards.