We solve a large class of multidimensional adverse selection problems with one observed action, to derive the nonlinear optimal income tax schedule when individuals differ along multiple unobserved characteristics. Based on a perturbation of the optimal allocation, our method allows individuals to have e.g. different skills and different taxable income elasticities. Our optimal tax formula generalizes the one with only one-dimensional source of heterogeneity and is numerically implementable. We find that, compared to the case where individuals differ only in skills, allowing them to also have heterogeous taxable income elasticities leads to substantially different optimal tax schedules and in particular, different asymptotic tax rates.