This paper reexamines the effect of exogenous income shocks and ethnic diversity on social conflict in Africa. Unlike previous literature, we jointly consider geolocalized information on three types of shocks (agricultural, mineral, and oil and gas price changes) and four measures of ethnic diversity (fragmentation, polarization, and both monopoly and excluded power of polity groups). With this approach, we can give a more complete vision of the determinants of violence. We find that the impact of income shocks is heterogeneous across conflict definitions and ethnic diversity measures. In particular, positive agricultural and mineral price shocks increase the probability of social conflict, riots, and violence across civilians in general, but decrease the incidence of armed conflict. Oil and gas price shocks, on the other hand, do not show significant direct effects. In addition, cells in which monopoly or excluded ethnicity are present tend to produce higher levels of violence. We also look at the interaction between income shocks and ethnic diversity; the results imply that the existence of extreme cases of political-power differences among ethnic groups reduce the positive impact of income shocks on the probability of conflict, whereas ethnic fractionalization always raises it. Comparing to the prevailing theories in the literature, our findings suggest that the direct effect of price shocks on armed conflict and general conflict are driven by opportunity costs and by the desire of political change, respectively, whereas their interacted effects with ethnic diversity depend on state capacity.