DIRTY MAF 

Clean your Mass Airflow Sensor with some MAF sensor cleaner or contact cleaner

dirty air filter

Inspect your air filter, and if dirty or older than 1 year, replace it

failed barometric sensor

The barometric sensor can fail and send inaccurate info to the ECU making the car perform bad.

Try disconnecting it and see if the issue still persist.

If you see that it's this sensor's fault, replace it.

OLd coils-plugs-wires

If your coils, wires or spark plugs are older than 4 or 5 years, It's a good Idea to replace them.

More power + better mpg

fuel pump or fuel pump harness

The fuel pump can be clogged or can overheat causing this issue. 
Check if you had a recall and get it replaced for free.

If no, have it inspected and replace if needed.

low compression

If non of the above helps, do a compression test and if you have less than 5 BAR consider rebuilding your engine.