Metabolic fluxes in cells are sometimes assumed to reflect an economical use of enzymes. To apply this principle of "minimal enzyme cost" and to study its consequences, I consider two types of computational metabolic models: models in which fluxes are given and metabolite levels are chosen to minimise enzyme cost; and models in which the fluxes themselves are optimised. In the first case, optimal enzyme and metabolite levels can be computed by solving a convex optimization problem, and connections between enzyme cost and reaction thermodynamics become very apparent. In the second case, we obtain a nonlinear version of flux balance analysis, a method commonly used in flux prediction. Optimal metabolic fluxes can be found be screening the elementary flux modes, a well-defined set of maximally sparse flux distributions. Altogether, we obtain a tractable method for predicting optimal fluxes, metabolite levels, and enzyme levels in kinetic models of central metabolism.