We investigate a joint user association and resource allocation problem in a three-tier heterogeneous network. Orthogonal resource allocation among different tiers is assumed. The problem is formulated as minimizing the total resources required to satisfy given user traffic demands. We first examine the structure of the optimal solution for this convex optimization problem and show that the optimal user association and hence resource allocation is determined by a bias value on the data rate offered by each base station. We then develop distributed algorithms based on the dual ascent method in determining the optimal rate bias for each BS. Numerical experiments demonstrate that the developed algorithms converge fast and produce close-to-optimal solutions. It is also shown that under cross-tier orthogonal resource allocation, the three-tier deployment provides significant performance improvement over a two-tier deployment, using the same set of base stations in each case.