The Cheapest possible fix is to thoroughly clean the throttle plate and throttle bore. Carbon buildup can cause the throttle plate to stick closed resulting in a mismatch between what the ecm is commanding and the throttle position sensor reports back.
Open the air inlet and use a small brush and carburetor cleaner to remove the carbon deposits in the throttle body, particularly where the plate meets the bore in the closed position.
Try to use the carb cleaner as sparingly as possible so as not to flood the engine too bad (it will be hard to start when you are done in any event, but the more cleaner that gets in the intake the harder it will start).
There are many other possible causes such as a faulty APP (gas pedal assembly) or a bad throttle actuator control module, but cleaning is the first step in the diagnosis anyway and may be the fix all by itself, so why pay someone else to do it, right?
Hope this helped, good luck.