At stumps on the penultimate day, Karnataka skipper R Vinay Kumar (19) and Shreyas Gopal (1) were batting at the Eden Gardens.
Resuming at 195 for four and with a lead of only 79, Vidarbha relied on a solid 55 from Aditya Sarwate, whose primary duty is to take wickets with his left-arm spin bowling, to reach 313 before being all out.
Overnight on 71, Ganesh Satish was castled by Abhimanyu Mithun for addition of only 10 more runs. R Vinay Kumar and allrounder Stuart Binny picked up three wickets apiece and Sreenath Aravind had two to his name.
Chasing a modest total with more than a day to spare, Karnataka were off to a disastrous start as they lost Mayank Agarwal (3) quickly.
Ravikumar Samarth (24) and Dega Nischal (7) got out in quick succession, but the big blow was dealt on Karnataka when Karun Nair (30 off 41 balls) was caught behind off the bowling of Gurbani.
C M Gautam, too, was dismissed by Gurbani as Karnataka, seeking to reach their third Ranji final in five years, found themselves in a precarious position.
Both Gurubani and Siddesh Neral extracted a lot of movement and bounce from the fourth day pitch to trouble the Karnataka batsmen.
At tea Karnataka were 69/3 with Nair and Gautam in the middle.
First-innings centurion Nair and Gautam tried to forge a partnership but Nair departed after making a fluent 30. Wickets fell in regular intervals for Karnataka with the batsmen looking clueless against Gurbani.
Earlier, Satish and Akshay Wadkar stitched a partnership of 72 runs for the fifth wicket to stretch Vidarbha's lead.
The lower middle-order, led by Sarwate, contributed handsomely with the bat to take the team total past the 300-run mark.
First Published: December 20, 2017, 6:03 PM IST