There is no single best time to visit Kashmir — there is a best time for blossom, a best time for trekking, and a best time for snow, and they are different months. Pick the season that matches what you actually want to do.
March to May: blossom and meltwater
Almond blossom opens in Srinagar in late March, followed by the tulip garden below the Zabarwan hills, usually for a few short weeks in April. Rivers run high and cold with snowmelt. Days are mild, nights still need a jacket, and the higher passes remain closed. This is the prettiest the valley floor gets and the crowds are moderate.
June to August: the trekking window
The high routes open. Snow clears from the passes, alpine meadows fill with wildflowers, and multi-day treks like the Great Lakes become possible. This is also peak domestic tourist season, so Srinagar, Gulmarg and Pahalgam are busy and prices are at their highest. Days are warm, occasionally hot in the city, and comfortable at altitude.
September to early November: the quiet peak
For many travellers this is the sweet spot. The monsoon that affects much of India largely spares the valley, air clarity improves, and the chinar trees turn deep red through late October. Crowds thin after the summer holidays. Nights get cold quickly, and by November the high treks have closed again.
December to February: snow
Gulmarg becomes a serious ski destination, Srinagar occasionally freezes, and parts of Dal Lake can ice over in a hard winter. Chillai Kalan, the forty-day core of winter beginning in late December, is the coldest stretch. Some roads close, power cuts are common, and it is genuinely cold rather than picturesquely chilly — but the valley under snow is extraordinary.
Matching season to purpose
Come in April for blossom and gardens. Come in July or August if the trek is the point. Come in October for the best light, comfortable walking and manageable crowds. Come in February for skiing. Avoid planning a high trek before late June or after mid-September, and do not expect the Gulmarg gondola's upper stage to run reliably on any single day in any season.