So I have an Intel i3 530@2.9ghz and an Nvidia GeForce GT220 and 8 gigs of ram. So will I be able to play Battlefield 3 with decent settings? And I have a 1080p 23 in. monitor.
You'll need a capable GPU, not some low end HTPC one like the GT220.
I would recommend at least a GTX560 or a HD6870 alongside a PSU upgrade since i can already determine your psu won't support much upgrades due to the gt220.