You definitely should grow your own, and it isn't expensive if you know what you are doing.
You shouldn't need topsoil; buy a standard 3 cubic foot bag of compacted peat moss ($10) and mix it in 50/50 with your existing soil, just where you put a plant, maybe a 1 foot wide and deep hole.
Be careful with your eater; if you just water the plants themselves directly, without spraying a wide area, consumption should be low. There is NO danger with rain water off a shingle roof, but you should be able to use tap water without much added expense.
Fencing could be important an expensive, depending on your location, but you can tent over a small area with inexpensive plastic netting in most cases.
Choose your plants well; tomatoes are VERY abundant on a single plant, and are easily jarred and stored over winter. Beans also put out a massive amount of food that is easily stored for log term consumption. Other options depend on your location. Lettuce, beats and radishes grow well in cool weather and produce
large amount of healthy food that would be expensive in the market. Summer and winter squash both are very easy to grow but take up a lot of space. All your seeds are FREE the second year, if you save them from your first year crop.