To simply answer your question: Having played both, I prefer the campaign of Modern Warfare 3. I did however, love one mission in BF3 where you get to fly a jet and perform air combat! That was truly awesome! But overall, MW3.
Loved the jet mission in BF3 also! But as for the entire campaign, it was pretty dull. That said, I wouldn't buy either of these games solely for the single player element.