The routing problem in Wireless Mesh Networks (WMNs) is concerned with finding “good” source destination paths. It generally faces multiple objectives to be optimized, such as i) path capacity, which accounts for the bits per second (bps) that can be sent along the path connecting the source to the destination node, and ii) end-to-end delay. This paper presents the Mesh Routing Algorithm (MRA), a dynamic programming approach for computing high-capacity paths while simultaneously bounding the end-to-end delay. The proposed algorithm also provides the option for locating multiple link-disjoint paths, such that the amount of traffic through each path is proportional to its capacity. Simulation results show that MRA outperforms other common techniques in terms of computing high capacity paths, while at the same time bounding the end-to-end delay to a desired value.