Scan it for codes, should be the first thing you do when a problem arises.
If there are no codes set I would then take a look at live data with a good scanner and see with the engine running and up to temp what the fuel trims are doing. High fuel trims are a pointer to possible air leaks as enuff_zed listed. If you can't find any then a smoke test usually finds any across the engine.
Just seen your update with rev counter rising and falling, check out the idle control valve, spray carb cleaner in it off the car to clean the internals. When clean if you shake it in your hand the inner workings should rattle. Put it back on and see if that solves the issue.