In recent years, ride-hailing services (RHSs) have become increasingly popular, serving millions of users per day. Such systems, however, raise significant privacy concerns, because service providers are able to track the precise mobility patterns of all riders and drivers. In this paper, we propose ORide (Oblivious Ride), a privacy-preserving RHS based on somewhat-homomorphic encryption with optimizations such as ciphertext packing and transformed processing. With ORide, a service provider can support the matching of riders and drivers without learning their identities or location infor- mation. ORide offers riders with fairly large anonymity sets (e.g., several thousands), even in sparsely-populated areas. In addition, ORide supports key RHSs features such as easy payment, reputation scores, accountability, and retrieval of lost items. Using real data-sets consisting of millions of rides, we show that the computational and network overhead introduced by ORide is acceptable. For example, ORide only adds several milliseconds to ride-hailing operations and the extra driving distance for a driver is less than 0.5 km in more than 75% of the cases evaluated. In short, we show that a RHS can offer strong privacy guarantees to both riders and drivers while maintaining the convenience of its services.