On-demand shared mobility is a promising and sustainable transportation approach that can mitigate vehicle externalities, such as traffic congestion and emission. On-demand shared mobility systems require matching of one (one-to-one) or multiple riders (many-to-one) to a vehicle based on real-time information. We propose a novel Graph-based Many-to-One ride-Matching (GMOMatch) algorithm for the dynamic many-to-one matching problem in the presence of traffic congestion. GMOMatch, which is an iterative two-step method, provides high service quality and is efficient in terms of computational complexity. It starts with a one-to-one matching in Step 1 and is followed by solving a maximum weight matching problem in Step 2 to combine the travel requests. To evaluate the performance, it is compared with a ride-matching algorithm developed by Simonetto et al. (2019). Both algorithms are implemented in a micro-traffic simulator to assess their performance and their impact on traffic congestion in Downtown, Toronto road network. In comparison to the Simonetto, GMOMatch improved the service rate, vehicle kilometer traveled and traffic travel time by 32%, 16.07%, and 4%, respectively. The sensitivity analysis indicated that utilizing vehicles with a capacity of 10 can achieve 25% service rate improvement compared to a capacity of 4.