The best card you should get is the HD 7870.It's faster than a GTX 660, its more overclockable and it also costs less.
http://www.newegg.com/Product/Product.aspx?Item=N82E16814161404
Or if you haven't got that much money but don't want to compromise performance at all then you should buy a GTX 480.
http://www.newegg.com/Product/Product.aspx?Item=N82E16814130759
Beware though that if you overclock it or the CPU you're gonna need a better power supply.
Or you could also buy a HD 7850 which is a bit slower but uses a LOT less power.
http://www.newegg.com/Product/Product.aspx?Item=N82E16814202004&nm_mc=AFC-C8Junction&cm_mmc=AFC-C8Junction-_-na-_-na-_-na&AID=10446076&PID=3938566&SID=
If you can't afford any of these three cards then you should consider buying either a GTX 560 or a HD 6870.They are much slower then the cards above but they are still fast enough for modern games.The performance of those two cards is pretty much identical but the Radeon uses consumes power and produces less heat.
http://www.newegg.com/Product/Product.aspx?Item=N82E16814102948&nm_mc=AFC-C8Junction&cm_mmc=AFC-C8Junction-_-na-_-na-_-na&AID=10446076&PID=3938566&SID=
http://www.newegg.com/Product/Product.aspx?Item=N82E16814127593&nm_mc=AFC-C8Junction&cm_mmc=AFC-C8Junction-_-na-_-na-_-na&AID=10446076&PID=3938566&SID=
And the lowest end card that i think i should include in the list is the HD 7770.
http://www.newegg.com/Product/Product.aspx?Item=N82E16814125435&nm_mc=AFC-C8Junction&cm_mmc=AFC-C8Junction-_-na-_-na-_-na&AID=10446076&PID=3938566&SID=
It's not nearly as fast as the cards above but it is a bit cheaper.