"When's the best time to visit India?" is really four or five different questions wearing one trench coat. A country this size runs three or four climates at once, so the honest answer depends entirely on which India you're going to see.
North India and the Golden Triangle: October to March
Delhi, Agra and Jaipur are at their most livable once the monsoon clears and the heat breaks — from October through March, days are warm and dry and evenings turn genuinely cool. December and January are the coldest, particularly early mornings at the Taj Mahal, so pack a layer you can shed by midday.
The Himalayan hill stations: March to June, and September to November
Shimla, Manali and the Uttarakhand hill towns are best in two windows: the run-up to summer (March–June), when the snow is retreating but the roads are clear, and post-monsoon (September–November), when the air is at its sharpest and the crowds have thinned. July and August bring landslide risk on mountain roads, worth avoiding if the itinerary is heavy on driving.
Kerala: the monsoon is a feature, not a bug
Most of India avoids the June–September monsoon; Kerala is the exception. Ayurvedic treatments are traditionally timed to the rains, backwaters run fuller and greener, and hotel rates drop. If a classic beach holiday is the goal, though, November to February is calmer and drier.
Rajasthan and Goa: opposite ends of the same window
Rajasthan's desert heat makes October–March the only realistic window for fort-hopping without wilting by 11am. Goa runs on the same calendar for different reasons — November to February brings dry, breezy beach weather before the pre-monsoon humidity builds through April and May.
The short version: if a trip spans more than one of these regions, the route matters as much as the season. Tell us your dates and we'll flag anything that's likely to be a washout before you book around it.

