Melt butter gently in saucepan. Add onion and fry gently until softened (add garlic along with, if you are using).
Add 'good' tablespoon of flour and stir and fry on a low heat, stirring, until it's a sandy texture. Be careful not to burn!!
Add the stock a little at a time, whisking to keep smooth, until all stock added. Then add tomatoes and tomato puree.
Cover and simmer on lowest heat for 1/2 to 1 hour (depends how hungry you are) until tomatoes are well and truly softened and the colour is nice and even. Be sure to stir a good few times to prevent sticking.
You now need to sieve the soup, pushing with the back of a wooden spoon, stirring and scraping to get all the juices through, then discard the pips, onion and peel.
Return to the heat for a minute or so and add basil, salt, and pepper to taste. Serves 2 to 4 depending on bowl size and appetites!
Could easily be made dairy free, gluten free, vegetarian or vegan without affecting the taste.