Chasing a target of 366, the hosts were in dire straits at 24 for five wickets, but in the end managed to avoid defeat finishing the day at 156 for seven.
Karnataka lost opener Arunkumr (6), Barrington Rowland (01), Stuart Binny (11), Vijay Bharadwaj (0) in a devastating spell by Siddhart Trivedi, who scalped six wickets.
Gujarat was then in sight of victory as Lalit Patel trapped Shyam Ponnappa leg before. But a 58-run partnership for the seventh wicket between former India player Sunil Joshi and Thilak Naidu and a 46-run stand between Naidu (46 not out) and Dodda Ganesh (31 not out) for the eighth wicket saved Karnataka from a humiliating defeat.
Earlier, Gujarat resuming at 124 for two, stepped up the tempo through Niraj Patel (70) and Timil Patel (78) before declaring their second innings at 307 for four.
The visitors earned two points from the draw while Karnataka are yet to gather their first point after losing to Bengal in their opening match.