In this paper, we study the radial symmetry properties of stationary and uniformly-rotating solutions of the 2D Euler and gSQG equations, both in the smooth setting and the patch setting. For the 2D Euler equation, we show that any smooth stationary solution with compactly supported and nonnegative vorticity must be radial, without any assumptions on the connectedness of the support or the level sets. In the patch setting, for the 2D Euler equation we show that every uniformly-rotating patch $D$ with angular velocity $Omega leq 0$ or $Omegageq frac{1}{2}$ must be radial, where both bounds are sharp. For the gSQG equation we obtain a similar symmetry result for $Omegaleq 0$ or $Omegageq Omega_alpha$ (with the bounds being sharp), under the additional assumption that the patch is simply-connected. These results settle several open questions in [T. Hmidi, J. Evol. Equ., 15(4): 801-816, 2015] and [F. de la Hoz, Z. Hassainia, T. Hmidi, and J. Mateu, Anal. PDE, 9(7):1609-1670, 2016] on uniformly-rotating patches. Along the way, we close a question on overdetermined problems for the fractional Laplacian [R. Choksi, R. Neumayer, and I. Topaloglu, Arxiv preprint arXiv:1810.08304, 2018, Remark 1.4], which may be of independent interest. The main new ideas come from a calculus of variations point of view.