In this paper we study the nonlinear resource allocation problem, defined as the minimization of a convex function over one convex constraint and bounded integer variables. This problem is encountered in a variety of applications, including capacity planning in manufacturing and computer networks, production planning, capital budgeting, and stratified sampling. Despite its importance to these and other applications, the nonlinear resource allocation problem has received little attention in the literature. Therefore, we develop a branch-and-bound algorithm to solve this class of problems. First we present a general framework for solving the continuous-variable problem. Then we use this framework as the basis for our branch-and-bound method. We also develop reoptimization procedures and a heuristic that significantly improve the performance of the branch-and-bound algorithm. In addition, we show how the algorithm can be modified to solve nonconvex problems so that a concave objective function can be handled. The general algorithm is specialized for the applications mentioned above and computational results are reported for problems with up to 200 integer variables. A computational comparison with a 0, 1 linearization approach is also provided.