The home side posted 311 for 8 in 50 overs thanks to the 219-run partnership between Shankar (100) and Gandhi (127) and held off a late challenge by Bhargav Merai (101) to restrict Gujarat to 235 all out in 45.1 overs.
Test stars Murali Vijay and Ravichandran Ashwin had mixed fortunes with the former being dimissed cheaply while the off-spinner returned figures of two for 38.
Opener Gandhi and one-drop batsman B Aparajith (16) put on 31 runs before the latter was caught by H P Patel off medium-pacer Bhargav Merai for 16.
Gandhi, who survived a few chances, made the most of it and played some good shots all-round the wicket.
More From This Section
All-rounder Shankar, coming off a good run of scores in the local games, played confidently and slammed some e boundaries and two big sixes. However, a flurry of wickets towards the end meant Tamil Nadu finished with 311.
Merai, however, played a defiant knock, which included some beautiful drives and also hit a huge six off Washington Sundar and brought up his ton in 94 balls.
Aswin Crist took three wickets while Ashwin ended Gujarat's resistance by trapping Ishwar Chaudhary lbw.
Meanwhile, Surya Kumar Yadav blasted 11 fours and seven sixes in a 85-ball unbeaten 134 while Jay Bista hit 90 to shine in Mumbai's 74-run victory over Madhya Pradesh.
Brief scores: Tamil Nadu 311 for eight in 50 overs (M Kaushik Gandhi 127 (120b, 11x4, 1x6), Vijay Shankar 100 (102b, 8x4, 2x6), N Jagadeesan 27, Chintan Gaja 3 for 61) beat Gujarat 235 in 45.1 overs (Priyank Panchal 42, Bhargav Merai 101 (97b, 11x4, 1x6), A Aswin Crist 3 for 44, R Ashwin 2 for 38, M S Washington Sundar 2 for 35).
Points : Tamil Nadu: 4 ; Gujarat: 0.
Mumbai 332 for five in 50 overs (Akhil Herwadkar 49, Jay Bista 90 (100b, 7x4, 1x6), Surya Kumar Yadav 134 not out (85b, 11x4, 7x6) beat Madhya Pradesh 258 in 46.1 overs Naman Ojha 35, Anshul Tripathi 67 (61b, 5x4, 3x6), Shams Mulani 4 for 62, Dhrumil Matkar 3 for 50).
Team Rajasthan 229 for six in 50 overs (Salman Khan (retd hurt) 58 (79b, 3x4), Chetan Bist 82 not out (77b, 6x4, 2x6), B Ayyappa 3 for 57) lost to Andhra 235 for four in 45 overs (Ashwin Hebbar 33, K S Bharat 38, G Hanuma Vihari 49, B Sumanth 71 not out (52b, 8x4, 2x6).
Points : Andhra: 4; Team Rajasthan: 0.