Lorsqu’il filait le coton sur son rouet et tissait de la toile, il incarnait sa vision d’une Inde autonome. En 1921, il troqua les vêtements européens contre la dhoti en coton et le châle. Il s’engagea auprès des intouchables et s’efforça de leur conférer honneur et dignité en les rebaptisant harijan « enfants de Dieu ». Gandhi mena campagne sur campagne, inspirant le svadeshi (mouvement nationaliste boycottant les produits britanniques). Il soutint le président du Congrès, Jawaharlal Nehru, lorsque la résolution exigeant l’indépendance complète fut adoptée le 26 janvier 1930. Cette année-là Gandhi lança une nouvelle campagne de désobéissance civile et défia le gouvernement britannique par son appel à la Marche du Sel, protestant contre le monopole britannique sur la production du sel. Le 12 mars, la marche quitta Ahmedabad et, un mois plus tard, elle atteignit Dandi, sur la côte du Gujarat où des milliers de manifestants entreprirent de faire bouillir de l’eau de mer pour en récolter le sel illégalement. Gandhi fut emprisonné mais libéré très rapidement. En janvier 1931, il signa avec le vice-roi britannique un pacte qui déboucha en 1935 sur une nouvelle constitution : le Government of India pact.
Pendant la seconde guerre mondiale, il lança un slogan « Quit India » et œuvra pour une Inde libre, ce qui lui valut une nouvelle incarcération. Suivirent ensuite des affrontements avec les musulmans, des émeutes éclatèrent en 1946 à Calcutta entre Hindous et Musulmans et Gandhi entreprit une grève de la faim pour faire cesser les violences. Il jeûna à nouveau en faveur de la paix quand lors de la partition de 1947, l’arrivée d’Hindous et de Sikhs en Inde et le départ de Musulmans vers le Pakistan se firent dans un bain de sang. C’est dans ce contexte de tensions communautaires, que le 30 janvier 1948, un fanatique hindou l’assassinat à Delhi à l’occasion d’une prière publique. Cet acte eut pour effet d’endiguer la violence qui ébranlait le pays.