Policymakers frequently use price regulations as a response to inequality in the markets they control. In this paper, we examine the optimal structure of such policies from the perspective of mechanism design. We study a buyer-seller market in which agents have private information about both their valuations for an indivisible object and their marginal utilities for money. The planner seeks a mechanism that maximizes agents’ total utilities, subject to incentive and market-clearing constraints. We uncover the constrained Pareto frontier by identifying the optimal trade-off between allocative efficiency and redistribution. We find that competitive-equilibrium allocation is not always optimal. Instead, when there is inequality across sides of the market, the optimal design uses a tax-like mechanism, introducing a wedge between the buyer and seller prices, and redistributing the resulting surplus to the poorer side of the market via lump-sum payments. When there is significant same-side inequality that can be uncovered by market behavior, it may be optimal to impose price controls even though doing so induces rationing.