Traffic engineering has been essential to optimize the utilization of network resource and to provide for QoS, QoS routing is a basic component of traffic engineering in MPLS networks. Aiming at some shortages of certain existing routing algorithms, we propose an efficient bandwidth constrained QoS routing scheme with additional traffic engineering objectives. The objectives of traffic engineering considered in our algorithm are to reduce the blocking probability of requests and to evenly distribute the traffic load. Accordingly, the algorithm avoids using critical links as far as possible by assigning large weights to them as a function of their criticality. The critical links can be specified according to max-flow reduction weight, a new link weight introduced by the algorithm. Then, a new defined additive metric, path saturation, is used to select optimal path. Extensive simulations are carried out to evaluate the performance of the proposed algorithm in terms of call blocking probability and link resource utilization. Compared to other several routing algorithms, the simulation results show the new algorithm performs well.