In a large dutch oven, heat the olive oil over medium heat. Add the onion and cook until tender, about 8-10 minutes. Add the garlic and crushed red pepper and stir to combine. Cook for an additional 2 minutes.
To the pot, add the bay leaf, San Marzano tomatoes, sugar and vegetable broth. Stir to combine and crush the tomatoes with the back of a wooden spoon. Bring to a boil, then reduce the heat to a simmer and simmer for 25-30 minutes, breaking down the tomatoes as you cook.
Remove the bay leaf and with either an immersion blender or a regular blender, puree the soup for 2-3 minutes for the creamiest soup.
Lower the heat to low and stir in the heavy cream. Cook for an additional 10 minutes. Adjust seasoning to taste by adding more salt and pepper, and more sugar if you find the soup to be too acidic.
Keep warm on the stove until you are ready to serve. Serve with dollops of cheese and fresh parsley.