Bengaluru is India's most liveable city with a population of more than a million. Shimla is the most-liveable with population less than 1 million.