A protracted legislative battle culminated in the abolition of slavery in Brazil in 1888. We build a new data set of roll-call votes on 1884-1888 emancipation bills in the legislature, and connect it to local features of the districts. This allows us to unpack how the material interests of each of the 122 electoral districts coalesced into an abolitionist coalition. Our results help reconcile previous theories of labor coercion. We find that slavery-intensive districts opposed emancipation. In line with a labor demand effect, we also find more support for emancipation where immigrants provided an alternative source of labor, and in line with an outside option effect, where enslaved persons could more easily escape. A two-pronged instrumental variables strategy that uses variation in (a) history and geography and (b) heteroskedasticity with respect to the regressors supports a causal interpretation of our main results.