Electing to bat after winning the toss in a must-win game for both teams, the home side made slow progress and lost wickets at regular intervals before Swapnil did the rescue act.
Opener Kedar Devdhar added 29 runs for the first wicket before falling to a catch by M Mohammed off K Vignesh for 17.
The other opener Aditya Waghmode, who scored centuries in two previous matches, put on 29 for the second wicket with Vishnu Solanki before becoming Vignesh's second victim.
Baroda captain Deepak Jagbir Hooda was then involved in an enterprising 71-run partnership with Swapnil Singh, which lasted 20 overs.
Also Read
The usually aggressive Hooda showed restraint and in Swapnil's company added important runs. He made 24 from 60 balls which included a big six, before being caught and bowled by left-arm spinner R Sai Kishore.
Hooda's exit sparked a collapse as Baroda slid from 139 for 3 to 176 for 7 as J Kousik (2 for 28) and Mohammed (1 for 19) too got into the act.
Swapnil during his 182-ball knock, mixed caution with aggression and hit 10 fours and three sixers while Kakade too hammered two sixes to frustrate the Tamil Nadu bowlers.
Tail-ender Rudresh Waghela, who joined Swapnil ensured that Baroda didn't lose any further wickets.
Earlier, Tamil Nadu made two changes by bringing in M Kaushik Gandhi and Kousik in place of all-rounder Vijay Shankar, who has been picked in the India Test team and off-spinner Malolan Rangarajan.
At Indore: Odisha 147 all out in 52.2 overs (Shantanu Mishra 60, Chandrakant Sakure 4 for 42) vs Madhya Pradesh 96 for 1 in 32 overs (Rajit Patidar 72 batting).
At Mumbai: Tripura 195 all out in 60.4 overs (M B Mura Singh 43, Akash Parkar 5 for 32) vs Mumbai 77 for 3 in 22 overs (Jay Bista 43 batting).
Disclaimer: No Business Standard Journalist was involved in creation of this content