depends on your preference, amd has some nice cards around $200-$300 for BF3, but if going nvidia the 670 would be what you would want, or 660ti if you didnt care about maxed out on 1920x1080.
AMD i would recommend anthing from 7850 and up or nvidia 660ti and up