Start with cleaning your throttle body, paying attention to your IAC (Idle Control Valve). Use a product called Deep Creep made from Seafoam, but you can use Throttle body cleaner to do the job. Do not use Carburetor cleaner, the Carb cleaner is to corrosive to the gaskets used on the throttle body.
Once that has been done, replace your fuel filter if it has not been done. Dirty fuel filter can and will cause this issue you have described and when it reaches the end of it's life. Your engine will not restart until you have replaced the fuel filter and a dirty filter will shorten the life of your fuel pump.