Heat olive oil in a large saucepan over medium heat.
Add chopped onions and minced garlic. Cook until the onions are translucent and the garlic is fragrant, stirring frequently.
Add the diced tomatoes and juice from the can to the saucepan. Stir to combine with the onions and garlic.
Add the vegetable broth, Italian basil leaves, salt, and cracked black pepper to the saucepan. Bring the mixture to a boil.
Reduce the heat to low and let the soup simmer for about 15 minutes.
In the meantime, cook the pasta in a separate pot according to the package instructions. Once cooked, drain it and run it under water to stop further cooking. Set aside.
After the soup has simmered, use an immersion blender to blend it until it's smooth. If you don't have an immersion blender, you can also carefully transfer the soup to a regular blender, blend it, and then return it to the saucepan.
Stir in the chopped spinach, unsweetened heavy cream, and cooked pasta. Let the soup cook for another 5 minutes over low heat.
Taste the soup and adjust the seasoning if necessary.
Serve the soup hot, with a sprinkle of extra chopped basil. You can also top it with some grated parmesan cheese.