01 - Heat butter and olive oil in a large pot or Dutch oven over medium heat. Add chopped onion and sauté until translucent, about 4 minutes.
02 - Add minced garlic, diced jalapeños, and red bell pepper to the pot. Cook for 5 minutes, stirring occasionally, until vegetables are softened.
03 - Stir in smoked paprika, ground cumin, and cayenne pepper. Cook for 1 minute until fragrant, stirring constantly to prevent burning.
04 - Sprinkle flour over the vegetables, stirring constantly for 2 to 3 minutes to cook out the raw flour taste and create a smooth roux.
05 - Gradually pour in vegetable broth while whisking continuously to prevent lumps. Bring to a simmer and cook for 10 minutes, stirring occasionally.
06 - Add cubed cream cheese to the simmering soup, stirring until completely melted and incorporated into the broth.
07 - Stir in shredded sharp cheddar and Monterey Jack cheeses one handful at a time, allowing each addition to melt before adding more.
08 - Pour in whole milk and season with salt and black pepper to taste. Simmer gently for 5 more minutes, stirring occasionally.
09 - Use an immersion blender to purée the soup to your desired consistency, either completely smooth or slightly chunky. Keep warm on low heat.
10 - Butter one side of each bread slice generously. Place 4 slices butter-side down in a skillet over medium heat.
11 - Top each bread slice with a mixture of sharp cheddar and Monterey Jack cheeses. Cover with remaining bread slices, butter-side up.
12 - Cook for 2 to 3 minutes per side until golden brown and crispy, and cheese is completely melted. Flip carefully to maintain integrity.
13 - Remove grilled cheese sandwiches from heat and cut each into 4 strips for dipping. Keep warm until serving.
14 - Ladle hot soup into bowls and garnish with sliced green onions and crumbled bacon. Arrange grilled cheese dippers alongside for dipping.