In a large heavy pot, heat the extra-virgin olive oil over medium heat. Add the chopped yellow onion and diced carrots to the pot. Cook, stirring occasionally, until the onions are softened and translucent, about 5-7 minutes. Next, add the finely minced garlic and sauté for 1 additional minute, until fragrant.
Add the roughly chopped ripe tomatoes, cane sugar, tomato paste, packed chopped fresh basil, chicken or vegetable broth, kosher salt, and ground black pepper to the pot with the sautéed vegetables from Step 1. Stir well to combine. Bring the mixture to a boil over medium-high heat, then reduce to a simmer, keeping the pot uncovered. Simmer the soup until the tomatoes are very soft and flavors are well blended, about 1 hour.
Once the tomatoes are very soft, use an immersion blender to carefully puree the soup in the pot until smooth. Alternatively, you can transfer the soup in batches to a blender and puree until smooth before returning it to the pot. Stir in the heavy cream or half-and-half and warm the soup gently over low heat until heated through but not boiling. I like to use heavy cream for a richer finish, but half-and-half also works beautifully for a lighter version.
To serve, place a portion of the cooked shaped pasta in the bottom of each serving bowl. Ladle the hot creamy tomato soup over the pasta. While the soup is still hot, sprinkle each bowl with shredded mozzarella cheese and a tablespoon of grated parmesan cheese. Garnish with julienned fresh basil leaves and a pinch of crushed red pepper flakes for a touch of heat. For extra flavor, I like to let the cheeses melt for a minute before serving.