The success of various sensor network applications highly depends on the use of energy-conserving routing methods to prolong network lifetime. We present a heterogeneous sensor network architecture consisting of a small number of high-end sensors serving as sink nodes and a large number of low-end sensors responsible for environmental sensing. We propose a path bottleneck-oriented and energy cost-based routing scheme that uses a multi-objective function to optimize the balance of network-wide energy consumption. Within this routing scheme, we design (i) a centralized version for sensor networks with global topology information, (ii) a semi-distributed version to further improve energy efficiency, and (iii) a fully distributed version to support large-scale sensor networks. Extensive simulation results show that the proposed routing scheme outperforms existing routing algorithms in prolonging the lifetime of sensor networks.