Heat a large pot to a touch less than medium and add the butter, onions, and pinch of salt. Cook until very soft (about 10-12 minutes), lowering the heat and/or adding splash of water if they start to brown. Add the garlic and cook until fragrant (about 1-2 minutes).
Add the flour and cook until no longer white (about 1-2 minutes).
Add the wine and bring to a boil for 1 minute while scraping the bottom of the pot to remove any brown bits.
Next, add the low-sodium chicken stock and plum tomatoes and bring to a boil. Once boiling, lower the heat to a simmer for and cook for 10 minutes.
Next, add the cream. Stir and simmer until well incorporated (about 3 minutes).
Taste test and adjust salt and pepper. If the soup is not sweet enough, add the optional sugar to taste. Mix in half the basil. For a soup with more texture, leave it as is. For a creamier soup use an immersion or countertop blender.
Top each bowl with the remaining basil. Serve with grated parmesan cheese and top with garlic croutons if you like. Enjoy!
