Heat a large pot over medium heat. Add the olive oil to the pot and heat until it shimmers.
Add the onion to the oil and sauté until translucent, 3 to 4 minutes. Add the garlic to the onions and continue cooking for another minute or until fragrant.
Add the diced tomatoes, bay leaf, and Italian seasoning to the onions, along with the red pepper flakes, if you'll be using those.
Cook the tomato mixture for 5 minutes, until the tomatoes have softened and released their juices.
Add the vegetable broth, tomato puree, and tomato paste to the tomato mixture.
Partially cover the pot with a lid and simmer the soup on low heat for 15 minutes.
Stir the heavy cream and tortellini into the soup and cook on medium-low for 5 to 7 minutes, until the pasta is cooked.
Remove the bay leaf from the soup and add the Parmesan, stirring until the cheese melts.
Add the baby spinach to the soup and cook until it wilts.
Garnish the soup with fresh basil and/or additional Parmesan cheese, if desired.