Jaiveer won the race in 8:48.56, leaving Naveen (8:49.38) yards behind. Maharashtra's Sachin took the bronze in 8:58.13 at the Mangala Stadium.
It was a sweet revenge for Jaiveer, who after winning back-to-back gold medals in 2012 and 2013, lost it to Naveen last year. Both Jaiveer and Naveen (8:49.38) crossed the Athletics Federation of India norm of 8:49.95 set for the Asian Athletics Championships in China (June 3-7).
Kuldeep Singh (Tata Motors) came second in 1:31:04, nine seconds faster than the bronze medalist Ankit Kumar of Indian Navy.
Haryana girl Preeti Lamba won her maiden national title in women's 3000m steeplechase in 10:48.86. On the opening day, she had won a bronze medal in 5000m. Pre-race favourite Nandini Gupta of Uttar Pradesh settled for silver (10:58.76) while Tamil Nadu got a bronze medal through S Padmavathy (11:30.50).
Tamil Nadu's Jayaraj Preeth clinched the gold in pole vault by scaling 4.90m, ahead of local lad P Balakrishna and Krishna Prasath (Tata Motors).
Hosts Karnataka continued to lead the table with 84.5 points, followed by Army (68.5 points), Kerala (60) and defending champions Tamil Nadu (53).