We provide a systematic method for solving general Principal-Agent problems. Our main result reduces such Stackelberg stochastic differential games to a standard stochastic control problem, which may be addressed by the standard tools of control theory. Our proofs rely on the backward stochastic differential equations approach to non-Markovian stochastic control, and more specifically, on the recent extensions to the second order case.