Brown the sausage. Heat olive oil in a skillet over medium heat.
Add the Italian sausage and break it up with a spoon. Cook until browned and no longer pink, about 6–8 minutes. Drain excess fat if needed.
Sauté the aromatics. In the same skillet, add onion, bell peppers, and mushrooms.
Cook 4–5 minutes until softened. Stir in garlic and cook 30 seconds until fragrant.
Load the crockpot. Add the browned sausage, sautéed veggies, pepperoni, olives, marinara or crushed tomatoes, broth, tomato paste, Italian seasoning, red pepper flakes, salt, and pepper to the crockpot. Stir well.
Slow cook. Cover and cook on Low for 6–7 hours or on High for 3–4 hours.
The flavors will deepen and the broth will thicken slightly.
Add the creamy finish. About 30 minutes before serving, whisk the softened cream cheese and heavy cream together in a small bowl until smooth. Stir the mixture into the crockpot. Add half the mozzarella and all the Parmesan.
Cover and cook 20–30 minutes until the cheeses melt and the soup turns silky.
Final seasoning and serve. Taste and adjust salt and pepper. Ladle into bowls, top with the remaining mozzarella, and let it melt. Garnish with chopped basil or parsley and extra pepperoni if you like.