This paper discusses the estimation of parameters of a traditional transportation model, as it is typically present in so-called Takayama-Judge type spatial price equilibrium models. In contrast to previously used estimation methods for this problem, observations of regional prices as well as of trade costs are used in a direct estimation of the first order conditions. The proposed method uses bi-level programming techniques to minimize a weighted least squares criterion under the restriction that the estimated parameters satisfy the Kuhn-Tucker conditions for an optimal solution of the transport model. A penalty function is used to iteratively approximate the complementary slackness conditions. Monte-Carlo simulations are used to trace out some properties of the estimator and compare it with a traditional calibration method. The analysis shows that the proposed technique estimates prices as well as trade costs more efficiently than the traditional calibration method. It is suggested to apply the same method to a range of linear and quadratic models.