As principais causas da fome incluem fatores ambientais e políticos. Embora a grande maioria das fomes ao longo da história tenha sido causada por inesperadas dificuldades ambientais, muitas foram causadas por má gestão política. Na história mais recente, as fomes têm sido comumente causadas por conflitos regionais e má alocação de recursos por governos totalitários.
Algumas das fomes mais notórias do século 20 foram causadas por ações abertamente políticas. De acordo com Slate, a Grande Fome Chinesa de 1958 a 1961 foi um resultado direto da desastrosa campanha do líder Mao Zedong "Grande Salto para a Frente", uma tentativa de transição rápida do país de uma sociedade agrária para uma sociedade industrial. Da mesma forma, o "Holodomor" ucraniano de 1932 a 1933, que matou entre 2,4 e 7,5 milhões de ucranianos, é amplamente percebido como uma tentativa deliberada de genocídio de Joseph Stalin. Até mesmo a Fome da Batata na Irlanda de 1845 a 1852, aparentemente causada pela praga da batata, uma doença das plantações, foi muito agravada pelas políticas governamentais dos governantes coloniais britânicos, da Irlanda. Fomes recentes em muitos países africanos também são exemplos de uma confluência de fatores políticos e ambientais em que as secas eram frequentemente exacerbadas por discórdias políticas e políticas governamentais deficientes.
Fatores políticos à parte, muitas fomes foram causadas principalmente por fatores ambientais. De secas a estações chuvosas excessivamente longas e doenças de plantas, a maioria das fomes históricas foi causada por fatores que eram difíceis, se não impossíveis, de prevenir.