W 1906 roku rząd Transwalu ogłosił ustawę zmuszającą do rejestracji członków społeczności hinduskiej. W trakcie masowych protestów, które miały miejsce w Johannesburgu we wrześniu, Gandhi opracował nową postawę wobec swoich przeciwników tzw. satyagraha (przywiązanie do prawdy) oraz po raz pierwszy pokojowe protesty mające się sprzeciwić nowemu prawu. Ponadto manifestanci mieli znosić pokornie wszelkie upokorzenia, powstrzymując się od używania przemocy. Plan został zaakceptowany i przerodził się w siedmioletnią walkę, w trakcie której tysiące Hindusów zostało uwięzionych (łącznie z wielokrotnie przetrzymywanym w areszcie Gandhim), pobitych, a nawet zastrzelonych za strajkowanie, odmawianie poddania się rejestracji, palenie kart rejestracyjnych czy angażowanie się w inne formy biernego oporu. Podczas gdy rząd coraz bardziej zaostrzał represje, opinia publiczna stawała po stronie protestujących, co ostatecznie zmusiło południowoafrykański rząd Jana Christiana Smutsa do podjęcia rozmów i zawarcia kompromisu z Gandhim.
W czasie tych lat spędzonych w Południowej Afryce Gandhi czerpał inspiracje do swoich działań z Bhagavadgity i pism Lwa Tołstoja.