Clean out the idle air control valve....
Have you tried cleaning the IAC (idle air control valve) ? Do you have a Bentley service manual for your car? It's explained in there. Use some Berryman's Chemtool spray (Walmart) and clean the gum and junk out of it, and clean the throttle plate while you're at it.