Check your fault codes:
Does it make any difference if it has been running for a while and has warmed up and you go to restart or is cold/warm start the same dificult time starting?
Basic maintenance; tune up plugs, wires, cap, rotor, fuel filter. Clean the IAC and throttlebody:
Possible real issues would be fuel: Run a fuel pressure test by hooking a guage to the fuel rail:
ignition on 31psi, running with vacuum line to the pressure regulator disconnected 39, turn the ignition off and it should maintain pressure above 20 psi for 20 minutes.
Bad temp sensor (Near tstat housing) can be checked with a meter.
Bad TPS can also be checked with a meter.