1. You can demolish large chunks of the city so that fewer people have a reason to visit, and spread development paper-thin over a wide area so that it stays beneath the incredibly low density threshold that causes car congestion. This is the approach taken by most US cities after WW2, however it has only worked in cities that have gone into economic decline because the places with meaningful growth consistently fill in more densely than cars can accommodate even with half the old downtown reduced to parking lots and strict zoning laws etc.
2. You can charge for the roads. Congestion pricing deters people who don’t really need to drive at a particular place and time from doing so, and thus allows the roads to flow freely even in urban centers. Surprisingly, it doesn’t take a huge toll to eliminate rush hour, as (1) the tipping point for traffic congestion is roughly the last 10% of cars that can fit on the road, and (2) it turns out that there’s a lot of low-value driving on the margin which simply stops when there’s a price attached to it.
The smart option is #2.