What is the best way to predict time series data? I have monthly price data for tomatoes for the last 9 yrs for a particular town and I'm looking to predict the prices of tomatoes 6 months into the future.

I had considered using Linear Regression in Tensorflow (something I learnt about a week ago), because there is a direct relationship between price and rainfall for the location in question. That is, high rainfall means a supply glut and a price drop, low rainfall means scarcity and price hikes.

However I've found that I can't get accurate weather forecasts for 6 months into the future and have to use some other way other than Linear Regression to predict future tomato prices.

What is the best way to do this?
You can find the seasonality in your data (if there exist) and by removing the seasonality, find the trend of tomato price and predict the future price using the seasonality data and trend data. If you are using python, you can find the seasonal library useful to apply this method to your data.

The advantage of this method to your method is you don't need to think over finding dependent features and any feature engineering.

Moreover, as you have mentioned in tags of your question, you can using RNN to predict the future value by as your data is time series and sequential intrinsically. You can find this article useful.