In a heavy bottomed pot, heat olive oil over medium-high heat. Add garlic and saute for 30 seconds until fragrant. Add onion and tomato paste and cook until translucent, stirring as needed, about 4-5 minutes.
Add San Marzano peeled tomatoes (including juices), chicken stock, and sugar. Bring to a low simmer. Cook uncovered for 12 minutes or until thickened.
Add the basil, oregano, and red pepper flakes. Season to taste with salt and pepper.
Using an immersion blender (or carefully transfer soup to a blender in small batches to avoid hot splatters), puree until smooth, leaving some small chunks.
Turn off heat and stir in heavy cream and parmesan cheese (if using). Serve topped with croutons, if desired!