Preheat your oven to 400℉ (200°C).
Toss the Roma tomatoes and unpeeled garlic cloves with 1½ tablespoons of olive oil in a large roasting pan. Then season with salt and pepper to taste.
Transfer the pan to the preheated oven and let the tomatoes and garlic roast for 30 minutes.
As the tomatoes roast, heat 1½ tablespoons of olive oil over medium heat in a large pot or Dutch oven. Then add the chopped onions along with a pinch of salt, and saute for about 7 minutes or until the onions become soft and slightly golden.
Add the smoked paprika, cayenne pepper, and dried thyme to the pan with the onions, and saute for just one more minute.
When done, remove the roasted tomatoes and garlic from the oven. Then carefully peel the garlic cloves and add them to the pot with the onions.
Now, add the roasted tomatoes, making sure to include all the juice in the roasting pan. Finally, pour in the tomato sauce and vegetable stock.
Bring the mixture to a slight boil over medium heat. Then reduce the heat to medium-low and let it simmer uncovered for 20 minutes.
Remove the soup from the heat and let it cool for a minute. Then transfer the soup to a blender and puree until it becomes smooth or your desired consistency. You can also use an immersion blender if you prefer.
Pour the soup back into the pot. If it seems too thin just let it simmer for a few minutes to thicken up. If too thick, simply add a little more vegetable broth. Then give the soup a taste and season it with more salt if needed.
To serve, garnish the soup with chopped parsley and a sprinkle of vegan Parmesan cheese if you like.