For Southern style, dosas, idli, etc, -veggie-Priyaa on Mckelvely and 270 does a respectable job. It's been a while since I've been there so you may want to call first. Basically, most of the indian places in stl serve the same northern style dishes that pretty much all tastes the same. I don't know what it is about this town, but it seems to inspire restauratuers to copy each other. The difference between the best and worst indian food in stl is narrow. With that said the indian restaurant on top of the howard johnson near the airport has the best lunch buffet.
By far the most flavorful Indian food I have had in St. Louis is at Raj's Rasoi in Maryland Heights. This is a place that puts zero effort in their decor, but the lack of decor is compensated for by their good food. Note: they are vegetarian.
Try Priyaa on Dorsett. Two blocks west of I-270. I went there because a friend lived nearby and it was very very good. The have the large dhosas and methu vada. They do a great biryani too.
I used to love the India's Rasoi in downtown Clayton but I seem to sense a lack of enthusiasm the last few times I was there. I don't know about the one in CWE.
Taj Palace on Delmar is another one that people seemed to rave about. I thought they were OK.
It seems to me that the inidan places have cut back on the spiciness as well as the heat in their dishes to accommodate the mid western palate. I just know that the Inidan I had in Bradford England was much more flavorful than the stuff I got in St. Louis.
Rasoi in Clayton closed this past winter. I hate to say it, but our couple or three experiences at the CWE Rasoi, on Laclede, have been mediocre in the last year. I am not sure what happened, but we used to take the kids there every month or two. Since we don't eat out that often, we have become leary of patronizing the place when we do. I think they switched from making their own chutneys to prepared stuff that was not a natural color (the tamarind chutney). Less paneer in the spinach and pea dishes, etc.
I would love to hear that things have improved.
We also have enjoyed meals at the House of India on Delmar at McKnight/170. We have not been there in almost a year. Always good service.
Personally, I have always likes India's Rasoi which offers a wide variety of northern and southern Indian dishes. The food has always been very fresh and the service has been attentive. In addition to a number of excellent curries and lamb dishes, the restaurant offers a lot of vegetarian options.
It is located behind Barnes-Jewish-Children's hospital near the MetroLink station on Laclede Ave.
If you are expecting to have your choice of dozens of Indian restaurants in St. Louis, there is simply not the market to support a wide variety of Indian places. You will have head to Chicago (or Schaumburg, IL) to find the wide variety. Also, you will find that any Indian place in St. Louis will have a menu that caters to a wide variety of people in order to remain in business.
4569 Laclede Ave
Saint Louis, MO
I'll be intersted in hearing what people have to say b/c I have yet to find great Indian food in STL (I relocated here 2 years ago from the DC area ... but grew up in Jersey!). There is one place in South City on Hampton in Fyler (India Palace?) that is not great on the inside but the food is ok. Though if you sit in the back, instead of sitting on soft comfy booths, the place has bright green hard plastic booths. And bad office lighting. But the food was ok. Nothing like what I use to get in NYC though. And I can't find any coconut soup -- that must be another region of cooking. They did have some Bollywood movies playing on a larger screen tv though.