Cornell's ensuing drive ran out of time at the 8-yard line of Penn (6-4, 6-1).
Holland, starting because Billy Ragone was injured last week, completed three passes on Penn's final 63-yard drive, setting up Spencer Kulcsar's 3-yard scoring run.
Luke Hagy rushed for two fourth-quarter touchdowns for the Big Red (4-6, 2-5), who tied the game at 28 on a 2-point conversion pass from Jeff Mathews to Luke Tasker. Mathews threw for 445 yards, completing 31 of 45.
Penn took a 14-13 lead 26 seconds before halftime on Holland's 41-yard pass to Jason Seifert.
They increased their lead to 28-13 on Lyle Marsh's 55-yard scoring run and Holland's 1-yard run after Tasker fumbled a punt.