Stachelschweine ernähren sich hauptsächlich vegetarisch: Sie fressen vor allem Trauben, Feigen, Datteln und Nüsse. Ansonsten mögen sie noch Rinde, Wurzeln und Stängel.
Ab und zu naschen sie Feldfrüchte, die auf den Äckern angebaut werden, wie zum Beispiel Mais. Manchmal essen sie auch Insekten und Frösche.