Tough decision. You'll definitely benefit from either upgrade, but there are always complications.
The CPU upgrade would be the cheapest, as you can even get the FX-8370 for under $200 USD. In fact, the FX-8300 -- currently one of Tom's Hardware's recommended CPU buys (http://www.tomshardware.com/reviews/best-cpus,3986.html) at ~ $125 USD -- would even be a good upgrade, as all of the non-"E" octa-cores are 2 tiers up the hierarchy (http://www.tomshardware.com/reviews/cpu-hierarchy,4312.html), & the minimum upgrade path you usually want to take.
However... it depends on what CPUs your motherboard supports. Obviously, your board is an AM3+ board, since you already have the FX-4300. But if it only supports the 95W chips, then the only "decent" choice you're going to have is the FX-8300, because it's the only 95W chip that will push you up the tiers (the 6300, 8320e, & 8370e are all at the same tier as your current 4300). So double-check your motherboard's CPU support list to make sure it can take the 8320/8350/8370 series; if it can't, then get the FX-8300.
Even then, a CPU upgrade may not provide a whole lot of performance boost. A GPU upgrade will provide a lot more oomph for your system. In this sense, though, it depends on a) your budget, & b) what resolution you want to play at. Luckily, even an RX 480 (http://www.anandtech.com/bench/product/1722?vs=1749) or GTX 1060 (http://www.anandtech.com/bench/product/1722?vs=1771) will provide 30%-100% more performance from your games than your current 79xx series (the links assume a 7970, BTW). Those will run you $300 USD or less (much less for the RX, especially the 4GB model), & be more than enough for 1080p gaming.