How grazing interacts with environmental conditions in determining grass species richness and abundance in savanna is still insufficiently understood. Quantifying the impact of herbivores on ecosystems can provide some insights into these relationships. In Kruger National Park, South-Africa, we recorded grass species and estimated their covers in 60 plots 50 × 50 m in size, selected to account for varying proximity to water and nutrient availability. Thus, we located plots (i) near perennial rivers, near seasonal rivers, and on crests that are distant from all waterbodies, and (ii) on nutrient-rich basaltic and nutrient-poor granitic bedrock. The presence and abundance of large herbivores was recorded by 60 camera traps located in the same plots. Grass cover decreased significantly with herbivore abundance and differed between habitats and bedrock types, with plots at crests showing the highest cover and plots near perennial rivers the lowest grass cover; on basalts grasses reached higher cover than on granites. The relationship between herbivore abundance and grass species richness changed with the type of bedrock; it was positive on basalts but negative at granite plots. Similarly, the relationship between herbivore species richness and grass species richness was positive on crests and on basalts, but negative near seasonal rivers and on granites; near perennial rivers the relationship was non-significant. We suggest that the positive relationship between herbivore richness or abundance and grass species richness, which is more pronounced on basalts, is due to herbivores supressing dominant grass species. This may increase microsite heterogeneity and therefore support grass species richness. In contrast, the decrease in grass species richness with herbivore species richness at seasonal rivers indicates that the high impact over-rides the resistance of some species to grazing and trampling.