
This creamy, flavor-packed butter bean dish has become my go-to recipe when I want to impress with minimal effort. The combination of tender beans swimming in a seasoned tomato cream sauce, topped with melty cheese creates a meal that truly lives up to its "marry me" name.
I first made these butter beans when a friend came over for a casual dinner, and the dish sparked an immediate marriage proposal joke. Since then, it's become my signature dish when I want to create something deceptively simple yet impressive.
Ingredients
- Butter beans or cannellini beans: Provide a creamy base and substantial texture that makes this dish filling
- Sundried tomatoes packed in oil: Deliver concentrated tangy sweetness and depth of flavor
- Fresh baby tomatoes: Add a juicy brightness that balances the richness
- Whole milk: Creates the luscious creamy sauce without heavy cream
- Spinach or kale: Folded in at the end adds nutrition and beautiful color contrast
- Mozzarella and parmesan cheese: Create that irresistible melty topping and umami flavor
- Dried oregano and chili flakes: Build the flavor foundation with minimal effort
Step-by-Step Instructions
- Sauté the Aromatics:
- Heat olive oil in a large high-sided skillet over medium heat until shimmering. Add diced shallot with a pinch of salt and pepper, cooking for 3-5 minutes until they become translucent and soft. This gentle cooking develops sweetness in the shallots that forms the flavor base.
- Build the Tomato Base:
- Add both sun-dried and fresh baby tomatoes to the pan, stirring occasionally for 2-3 minutes. The sundried tomatoes will begin releasing their concentrated flavors while the fresh tomatoes start to soften and release their juices. This creates a beautiful flavor contrast.
- Add Seasonings:
- Incorporate minced garlic, dried oregano, chili flakes, salt and pepper, stirring constantly for about one minute. Be careful not to burn the garlic which can happen quickly and create bitterness. You'll know it's ready when you can smell the fragrant herbs and garlic blooming in the oil.
- Create the Sauce:
- Pour in milk and broth, using your spoon to scrape any browned bits from the bottom of the pan. These caramelized bits contain concentrated flavor. Bring everything to a gentle simmer where small bubbles just begin to appear around the edges of the pan.
- Cook the Beans:
- Add the drained and rinsed beans, reduce heat to medium-low and partially cover the pan. Let everything cook together for 5-7 minutes, stirring occasionally. The beans will absorb flavors while the sauce reduces slightly and becomes creamy. The beans should be tender but not mushy.
- Finish the Base:
- Reduce heat to low and stir in the spinach and parmesan cheese until the greens wilt and the cheese melts into the sauce. This should take just 1-2 minutes. Taste and adjust seasoning with more salt and pepper if needed. The sauce should coat the back of a spoon.
- Create the Cheesy Top:
- Sprinkle mozzarella cheese evenly across the top and place under the broiler for 3-5 minutes until golden and bubbling. Watch carefully as broilers can burn food quickly. The cheese should develop some golden brown spots for maximum flavor.

The sundried tomatoes are truly the secret weapon in this recipe. I learned from my Italian grandmother that using the oil from the sundried tomato jar instead of regular olive oil adds an extra layer of intense flavor that makes people wonder what your secret ingredient might be.
Customizing Your Beans
This recipe welcomes endless variations based on what you have available. For a mediterranean twist, add a handful of olives and some crumbled feta instead of mozzarella. Going for something heartier? Add Italian sausage or crispy pancetta before adding the beans. The creamy tomato base works beautifully with almost any addition you can imagine.

Serving Suggestions
While delicious on its own with crusty bread for dipping, these butter beans can be transformed into various meals. Serve over polenta for a comforting Italian-inspired dinner, toss with pasta for a creamy pasta bake, or spoon over toasted sourdough for an elevated breakfast. For summer gatherings, I love serving it at room temperature as part of an antipasto spread.
Storage and Reheating
Store leftover beans in an airtight container in the refrigerator for up to 3 days. The flavors actually intensify overnight, making this dish sometimes even better the next day. When reheating, add a splash of broth or milk to loosen the sauce as it tends to thicken considerably when chilled. Warm gently on the stovetop rather than microwaving for the best texture.
Frequently Asked Questions
- → Can I use a different type of bean instead of butter beans?
Yes, you can substitute butter beans with white beans like cannellini or navy beans. They work just as well and provide a similar texture.
- → What can I serve with this dish?
This dish pairs wonderfully with crusty bread, rice, quinoa, or even your favorite pasta. The creamy sauce makes it great for dipping or topping grains.
- → Can I make this dish dairy-free?
To make it dairy-free, substitute the milk with a plant-based alternative (like almond or oat milk) and skip the parmesan and mozzarella cheese. You can also use nutritional yeast for added flavor.
- → How do I store leftovers?
Store leftovers in an airtight container in the refrigerator for 1-2 days. When reheating, add a splash of broth to loosen up the sauce and warm over medium-low heat.
- → Can I add protein to this dish?
Yes, you can add grilled chicken, shrimp, or even cooked sausage to make it a more protein-packed meal. Incorporate them during the simmering step for the best flavor.