At $300, you can get quite the powerful GPU these days - but when it comes down to which side you should jump into, AMD or NVIDIA - things can get messy. It all comes down to personal preference, and I could sit here writing 10 pages of arguments on either side.
I'm a fan of both, and both sides do things well. NVIDIA, in my opinion, have better game support - they seem to have more partnerships with game developers and have less "problems". These problems are usually solved through driver updates, and AMD keeps up quite well.
That's not to say AMD aren't a great choice either, as they are - and in some cases, their GPUs can far outperform the closest GeForce card in its price bracket which introduces an entire new argument again. So we'll skip that and just keep this prelude here, and get onto the recommendations.
On the NVIDIA side of things, you could get yourself a GeForce GTX 660 Ti for around $299.99 from Newegg. For this price, you'd be scoring one of the very swish EVGA SuperClocked versions.
If we're talking AMD, you could get the Gigabyte Radeon HD 7950 GPU which comes with a triple-fan cooling design that would not only be great for overclocking, but great for temps while gaming at extreme levels - AA, AF cranked, etc. This GPU is just $299.99.
I would recommend the Radeon HD 7950 out of those two options!