We study a stochastic, dynamic optimization problem for an on-demand ride-hailing platform with time-and-price-sensitive customers. The platform makes a one-time pricing decision at the outset, and real-time driver-customer matching and driver routing decisions during an infinite planning horizon. The objective is to maximize the long-run average profit across time, which includes payments received from the customers less the service commission fees to the drivers. In contrast to the prevailing literature that oftentimes stylizes spatial routing of the underlying system for tractability, we analyze the problem with exact spatial routing. In our analysis, we first characterize the fundamental spatial-temporal (ST) trade-off between the spatial inefficiency (customers’ pick-up times) and the temporal inefficiency (customers’ response times; the time between a customer’s arrival at the platform and her being assigned to a driver), and leverage this relationship to establish an upper bound on the average profit under any policy as the benchmark. We then design a near optimal policy that carefully combines strategic service delay (delaying assignments to accumulate better matches) and empty driver routing (repositioning idle drivers to balance supply). In an asymptotic regime where the number of drivers grows large, our policy strikes the right balance for the ST trade-off, and achieves a vanishing gap from the theoretical benchmark. To the best of our knowledge, this is the first ride-hailing policy with a provable performance guarantee for exact spatial routing. Our results advance both the theoretical understanding and the policy design for ST balancing in dynamic matching systems.