CFA provides good technical knowledge related to the field of investments. MBA is a general management course where you will learn some finance courses but the depth may be less.
However good MBA colleges can attract big banks and help in placements. In terms of cost, a CFA will be cheaper and you can do it along with a job.