Striker Henry Ezeh scored the match-winner in the 53rd minute at the Ambedkar Stadium.
ONGC play Mohammedan Sporting Club of Kolkata in the summit clash on Thursday.
The final match will be played under floodlights and start at 1745 hrs.
Indian Navy dominated possession but could not penetrate ONGC's well-organised defence. ONGC used a lone striker, Nigerian Henry Ezeh, and he got good support from the flanks.
New recruit Lavino Fernandez's cross from the left in the 53rd minute led to a goalmouth scramble and Ezeh found the net as Indian Navy defenders struggled to clear the ball. Despite Indian Navy's constant pressure, the goal proved decisive.