The Colonials (6-1) were clinging to a 61-60 lead before Tim Johnson hit a pair of 3-pointers in a 14-0 run. That was enough to assure GW its 15th win in 16 games against Navy since 1968.
Chris Harris scored 26 for the Midshipmen (4-5), who were outrebounded 40-32 and committed 21 turnovers.
The game was tied at 43 before Kromah hit a 3-pointer and added a layup to spark a 12-2 run. The Colonials remained in control down the stretch.
Navy's tallest player, 6-foot-11 Mark Veazey, scored the game's first two baskets. But he was called for two quick fouls and spent the final 16 minutes of the first half on the bench.
The Midshipmen still managed to take a 22-15 lead, forcing GW into 6-for-20 shooting with five turnovers.