Melt the butter in a soup pot. Saute the onion in the butter over medium heat for about 5 minutes, or until soft. Lower the heat to medium-low, and add the garlic. Cook for another minute.
Add the flour and 1 cup of broth. Whisk for a minute.
Add the remaining broth, tomatoes, tomato sauce, honey, basil, bay leaf, and salt. Bring to a boil, then lower the heat and simmer for 30 to 40 minutes.
Remove the basil and puree the soup with an immersion blender. Stir in the milk. Serve warm.