Hart scored first when Joseluis Andaverde ran for a 10-yard touchdown with 3:56 left in the second quarter, then followed up with the 2-point conversion.
But the Packers came right back, with Kyler DeKuiper breaking through on a 2-yard run with just 9 seconds left in the half. He also followed up with the 2-point conversion.
Fremont took the lead for good, 14-8, with 10:04 remaining in the third when Michael Romero intercepted a Hart pass and returned it for a touchdown. Justin Dirheimer added the 2-point conversion run.
Dirheimer then scored on a 4-yard run with 9:36 left in the fourth period, but the Pirates stopped the Packers short of the end zone on the two-point conversion.
The Packers had 223 yards rushing, led by Dirheimer who gained 182 on 31 attempts. DeKuiper had 16 on seven carries, Romero added 13 on two tries and Asa Barnhard had 11 yards on four carries.
DeKuiper was 7-of-9 passing for 32 yards.
Romero paced the defense with seven tackles, including one for loss. Owen Hertel had five stops, one sack and one tackle for loss.
Hart finished with 95 yards of total offense.
Andaverde rushed for 64 yards on 11 attempts to lead the Pirates.
Defensive leaders for Hart included Trayce Tate, Austin Martinez and Zane Thomas with eight tackles apiece. Thomas also had a quarterback sack.
With the win, Fremont equaled its win total from last season, when it beat Remus Chippewa Hills 32-6 in Week 7.
The Pirates are next in action Thursday when they travel to White Cloud, while the Packers are home against Beaverton. Both games begin at 7 p.m.