Heat a nonreactive pot or enameled dutch oven over medium heat.
Add butter then add chopped onions.
Sauté 10-12 minutes, stirring occasionally, until softened and golden.
Add minced garlic and sauté 1 minute until fragrant.
Add crushed tomatoes with their juice, chicken stock, chopped basil, sugar (or add sugar to taste), and black pepper.
Stir together and bring to a boil then reduce heat, partially cover with lid and simmer for 10 minutes.
You can leave your soup with a chunky consistency, but if you like a blended/creamy soup, use an immersion blender to blend the soup in the pot to desired consistency or transfer to a blender in batches and blend until smooth (being careful not to over-fill the blender with hot liquid and pulse a few times initially to get it started), then return blended soup to the pot over medium heat.
Add 1/2 cup heavy cream, 1/3 cup freshly grated parmesan cheese and return to a simmer.
Season to taste with salt and pepper if needed and turn off the heat.
Ladle into warm bowls and top with more parmesan, croutons and chopped fresh basil.