As a guy who prefers single-player, story-driven experiences, and doesn't mind a bit of cinematic flair in his games, I'd go with Battlefield 3.
Mind you, I don't have a PS3, and I've never played the Uncharted games; but I am aware of their quality, and I think they're something I would really enjoy. I still say go for Battlefield 3.
Not for the single-player, mind you, that'll be either crap or mediocre; but it's right up there with CoD when it comes to defining multiplayer shooters, and by all accounts is going to be a big deal online for many years to come.
You will, without a doubt, get more value for money if you buy Battlefield 3. Assuming you enjoy that type of game, of course, but why would you be asking if you didn't?
Captcha: permanently liaril
How dare you question my integrity, Captcha! He is too better off with BF3!