Put into bat, Mumbai scored 286 for eight in 50 overs due to a 135-run fourth wicket partnership between Shreyas Iyer (77) and Suryakumar Yadav (67).
In reply, Manish anchored the chase with an unbeaten 99 off 112 balls that had nine fours and a six as Karnataka reached the target with couple of balls to spare.
Karnataka will meet Bengal in the semi-final.
There were two important partnerships that helped Karnataka reach the target with ease. Pandey along with India international Stuart Binny (58) added 119 runs for the fourth wicket while with Karun Nair (32 off 23 balls), he added 60 priceless runs, to seal the deal.
More From This Section
Binny's 58 came off 67 balls with three fours and a six and his stand with Pandey stabilised the Karnataka innings just when they were looking in a spot of bother at 84 for three.
Iyer should have got three-figure mark but Pandey's gentle medium pacers did him in as he spooned a return catch.
Mumbai also suffered because veteran Wasim Jaffer (18) was out cheaply caught by Pandey off Mithun.
Brief Scores: Mumbai 286/8 (Shreyas Iyer 77, Suryakumar Yadav 67, Abhimanyu Mithun 2/57, Srinath Aravind 2/73).
Karnataka 287/6 (Manish Pandey 99 no, Stuart Binny 58, Saurabh Netravalkar 2/43). Karnataka win by 4 wickets.
Semi-final lineup: Karnataka vs Bengal.