By train: The closest railway station to Gangtok is New Jalpaiguri Railway station, Siliguri, located 148km away. It takes about 5-6 hours from the station to reach Gangtok; a cab here will cost you about ₹2700 - 4500.
Take a shared cab from NJP: You can also avail those shared cab run by Sikkim National Transport (SNT). The fare is INR 200-300 per person. There are also SNT organised bus services available to reach Gangtok from NJP. The rate is INR 90 per person.
By road: From Delhi NCR, take the Taj Express Highway to Agra – Lucknow Expy and NH27 to Araria – Jokihat Rd/Madanpur – Araria Rd/SH63 in Sisauna – Follow SH63 to NH327 in Chekarmari – Take NH27 and NH10 to Indira Bypass Rd/Ranka Rd – Gangtok.
From Kolkata, take NH19 (formally known as NH2) until you get to Bardhaman. From there, take the right on to NH114A towards Pakur and Farakka. The road will merge into NH34 after Farakka. Continue on NH34 via Malda, Raiganj and finally, Siliguri. The moment you cross Siliguri, Sikkim (and the hilly roads) will begin.