You could also consider the GTX 560, which is about $145 post-rebate for some models. It will have slightly better BF3 performance than the 6870 and significantly better than the 6850, though I still think the 6870 is the better overall card.
Just to make sure, do you have the power supply to run the card? I'd hate to hurt the reputation of this site by recommending something to someone only to have them come back and say it doesnt work. Cover all the bases the first time.