While Anand rallied from a set down to a 5-7 6-0 6-3 upset win over sixth seed Vijay Kannan of Tamil Nadu, Bava dominated the battle of the baseliners against unseeded local lad Aryan Goveas for a 6-2 6-3 win in the semi-finals.
Anand, who won a double crown here four years ago, initiated a late charge after dropping a tight opening set and sealed the issue with crucial breaks in the decider.
The 20-year-old sustained the pressure in the second set and went up 4-1 with breaks in the second and fourth games.
But Goveas, featuring in only his second men's tournament, raised hopes of a recovery when he broke back in the third and seventh games to reduce the lead to 3-4 until Bava broke right back in the eighth and held serve to end the qualifier's dream run.
Results (Semi-finals): Kunal Anand (Del) bt 6-Vijay Kannan (TN) 5-7 6-0 6-3; 3-Haadin Bava (Ker) bt Aryan Goveas (Mah) 6-2 6-3.
Doubles (Semi-finals): Aryan Goveas/Rohan Samant bt 4-Vignesh Peranamallur/Anirudh Chandrashekhar 5-7, 7-6(5), 10-6; Jayesh Pungliya/Armaan Bhatia bt 3-Kunal Anand/Saurav Sukul 6-3 3-6 10-7.