In a large Dutch oven preheated to medium-high heat add the olive oil and onion. Cook the onion until translucent, about 5 minutes. Next add the garlic and stir until fragrant about 1 minute. Stir in the tomato paste using the spoon to make sure the onions are covered and cook for a few minutes.
Add in the tomatoes, chicken broth, chipotle adobo sauce, and 1 can beans. Stir everything together. Next, add in the oregano, red pepper flakes, kosher salt and pepper. Bring the mixture to a boil and reduce to medium low for about 20 minutes.
Using an immersion blender, blend the soup in the pot until smooth. You can ladle the soup into a blender and pulse until smooth. Once blended, add in the spinach, Parmesan, heavy cream, and remaining can of beans. Simmer the pot on low until everything is well combined.
Divide the soup among a few bowls, top with croutons and enjoy!