There are several ways to reach Nainital:
You can go by road. It is connected to National Highway 87. You could take a state run bus to Nainital from Lucknow, Delhi and other major cities in the state of Uttarakhand. Uttarakhand Roadways have daily buses leaving from ISBT Anand Vihar. You could also opt for a luxury bus run by private operators from Delhi. Delhi Roadways, Haryana Roadways and Rajasthan Roadways also operates direct buses to Nainital. Buses are run on a regular basis from cities like Kanpur, Haridwar, Agra, Bareilly, Dehradun and Lucknow on a daily basis.
If you prefer to drive, it takes 7 to 8 hours from Delhi. Take the National Highway No 24 and drive down to Rampur via Hapur. From Rampur you can change to National Highway 87 which takes you directly to Nainital. If you’re not in a hurry, you can halt en route at Wonderland, Rwy crossing, Moradabad. “The Cottage, Jeliokot” also falls on the way.
The nearest railway station to Nainital is Kathgodam at a distance of 34 kilometers on the North Eastern Railway. Trains ply in from Delhi, Lucknow and Kolkata. From Kathogam you can catch a cab or “share a cab” if you’re on a budget. If you are traveling from Agra or Bareilly then you would have to get off at Lalkuan station, which is at a distance of 60 kilometers from Nainital.
The closest international airport is Indira Gandhi International airport, which is in Delhi. The nearest domestic airport is Pant Nagar Airport which is only 2 hours drive to Nainital. However, it is only served by Jagson Airlines with 6 flights per week, as of writing this. The operate on Mondays, Wednesdays and Fridays.
Within Nainital, you can either travel on foot or take the cycle rickshaws which shuttle from one end of the Mall to the other.