Side Dishes
This cheesy black beans and rice recipe delivers restaurant-quality comfort in a single pot—crispy golden edges, creamy melted cheese, and perfectly seasoned beans all in one dish.
The secret is layering the ingredients just right so every bite has that satisfying crunch from the cheese topping while keeping the rice tender underneath. I’ve perfected this over years of testing, and it’s become a staple for quick weeknight dinners that feel like a celebration.
The beauty of this recipe lies in its simplicity: one-pot magic that requires minimal prep and cleanup. You’ll start with black beans simmered in a rich, spiced tomato broth, then layer in rice and cheese for that irresistible crispy finish.
It’s vegetarian-friendly, budget-conscious, and packed with flavor—no fancy techniques required. Whether you’re feeding a family or just craving something hearty, this dish delivers every time.
Ingredients for cheesy black beans and rice
This one-pot vegetarian masterpiece combines hearty black beans, tender rice, and crispy melted cheese for maximum flavor with minimal effort.
| Ingredient | Amount | Notes |
|---|---|---|
| Black Beans 🌱 | 1 ½ cups | Canned, drained and rinsed |
| Long-Grain White Rice 🍚 | 1 cup | Uncooked, preferably basmati |
| Diced Tomatoes 🍅 | 1 can (15 oz) | San Marzano preferred |
| Yellow Onion 🧅 | 1 medium | Diced, about 1 cup |
| Garlic Cloves 🧄 | 3 cloves | Minced, fresh preferred |
| Vegetable Broth 💧 | 1 ½ cups | Low-sodium preferred |
| Shredded Monterey Jack Cheese 🧀 | 1 ½ cups | Vegan-friendly if needed |
| Cheddar Cheese 🧀 | ½ cup | Shredded, sharp variety |
| Chopped Fresh Cilantro 🌿 | ¼ cup | For garnish, optional |
| Ground Cumin 🌿 | 1 tsp | Toasted for depth |
| Smoked Paprika 🌶️ | ½ tsp | For smoky flavor |
| Salt 🧂 | 1 tsp | Diamond Crystal preferred |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Olive Oil 🫒 | 1 tbsp | Extra-virgin for richness |
The foundation starts with San Marzano diced tomatoes—their sweetness and acidity balance the richness of the cheese. For the beans, canned black beans work perfectly, but if you're feeling ambitious, soak and cook dried beans for deeper flavor. The yellow onion should be finely diced (about 1 cup) to ensure even cooking and distribution of flavor throughout the dish. Fresh garlic and toasted cumin are non-negotiable for that authentic, smoky depth that makes this dish sing. I always grab my spices from Penzeys or the bulk section at Whole Foods for the freshest possible flavors.
No San Marzano tomatoes? Fire-roasted canned tomatoes or even fresh diced tomatoes work in a pinch, though they'll be slightly more watery. Substituting cheeses? Pepper jack or cotija add exciting new dimensions, while vegan cheese shreds (like Daiya) keep it plant-based. The rice can be swapped for brown rice or quinoa, though cooking times will vary. For extra crispiness on top, sprinkle a generous pinch of Diamond Crystal kosher salt before broiling—this enhances the Maillard reaction for that perfect golden crust. If you're short on time, pre-cooked rice works, but freshly cooked gives the best texture.
This dish reheats beautifully—just cover with foil and warm in the oven for 10-15 minutes at 350°F. The cheese topping stays crispy if you reheat it uncovered for the last 2 minutes. Leftovers keep for 4-5 days in the fridge, though I rarely have any. For meal prep, portion into individual containers with the cheese on top—it reheats perfectly and keeps the crispy texture intact. The fresh cilantro should be added just before serving to preserve its vibrant flavor, but if you're prepping ahead, store it separately and add it fresh when ready to eat.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe—just toss everything in one pot, walk away for 20 minutes, and boom. The rice cooks while the beans soak up all that cheesy, tomatoey goodness. No fancy steps, no burnt rice, no stress.
- Cheese Overload: That melted cheddar (or Monterey Jack, if you’re fancy) clinging to the rice? Yes. It’s the kind of dish where every bite feels like a hug—creamy, savory, and just a little spicy from the garlic. My kids fight over the last spoonful.
- Meal Prep MVP: Make a big batch on Sunday, and you’ve got lunch for the week. The flavors actually get better after sitting overnight—more tender beans, rice soaks up all the juices. Honestly, I’d eat this cold straight from the fridge if I had to.
- Budget-Friendly Powerhouse: Black beans and rice? Check. Canned tomatoes? Check. A bag of cheese? Still check. This feeds four for under $10, and the leftovers turn into quesadillas or tacos. My wallet and I are best friends now.
Step-by-step instructions for cheesy black beans and rice
Master this one-pot technique for perfectly balanced flavors and that coveted crispy cheese crust.
Sauté Aromatics Until Fragrant
Heat the 1 tablespoon olive oil in a large, heavy-bottomed skillet or Dutch oven over medium heat. Add the 1 medium diced yellow onion and cook for 5 minutes until softened and translucent. You'll notice the onions release moisture and begin to caramelize slightly at the edges.
Add the 3 minced garlic cloves and cook for another 30 seconds until the raw garlic aroma disappears and you smell that sweet, toasty garlic scent. This step builds the flavor foundation—don't rush it. If the garlic starts to brown too quickly, reduce heat slightly to prevent burning. The goal is aromatic development, not color.
Build the Flavor Base
Stir in the 1 teaspoon ground cumin and 0.5 teaspoon smoked paprika, toasting them in the pan for 15 seconds until fragrant. This quick toast deepens their flavors before they're incorporated into the dish. Immediately add the 1 can (15 oz) diced tomatoes and their juices, stirring to combine.
Pour in the 1.5 cups vegetable broth and bring the mixture to a gentle simmer. Add the 1.5 cups drained black beans and 1 cup uncooked long-grain white rice, stirring gently to distribute everything evenly. The rice should be fully submerged in the liquid—this ensures even cooking and prevents burning.
Simmer Until Rice is Tender
Reduce heat to low and cover the skillet with a tight-fitting lid. Let it simmer for 20 minutes without disturbing it. This gentle cooking allows the rice to absorb liquid gradually while developing flavor. After 20 minutes, check the rice—it should be mostly tender but with a slight bite remaining.
If the mixture looks dry or the rice isn't fully cooked, add 2-3 tablespoons of water and continue cooking for another 5 minutes. The rice should be tender with just a hint of resistance when pierced with a fork. This stage is where patience pays off—rushing leads to mushy rice or undercooked grains.
Create the Crispy Cheese Topping
Remove the skillet from heat and stir in the 1.5 cups shredded Monterey Jack cheese and 0.5 cup shredded cheddar cheese. The residual heat will begin melting the cheese, but you'll want to finish this step on the stovetop. Spread the cheese mixture evenly over the top of the rice, creating a thick layer that will crisp.
Return the skillet to medium-high heat and let it cook uncovered for 3-4 minutes until the cheese turns deep golden brown and forms a crispy crust. Watch carefully—once it starts browning, it happens quickly. You want that perfect balance between melted cheese and crispy texture. The edges should be golden while the center remains soft and creamy.
Rest and Garnish
Remove from heat and let the dish rest for 5 minutes before serving. This resting period allows the flavors to meld and the cheese to set slightly, making it easier to serve without losing that crispy texture. The one-pot design keeps everything warm while you prepare your sides.
Garnish with the 0.25 cup chopped fresh cilantro and serve immediately. The contrast between the crispy cheese topping and the creamy rice below creates the perfect texture combination. Each bite should deliver the smoky depth of the cumin and paprika, the richness of the melted cheeses, and the satisfying heartiness of the black beans and rice.
Pro Tips For Making Cheesy Black Beans And Rice
- SOFTEN BEANS RIGHT: DESCRIPTION: Drain and rinse canned black beans, then toss them with a splash of hot water from the tap—just enough to coat. Let them sit for 5 minutes before adding to the pot. This step cuts the gummy texture that ruins the dish, and I’ve learned it the hard way when I skipped it.
- SAUTÉ ONIONS LOW AND SLOW: DESCRIPTION: After dicing that onion, cook it on medium-low heat for at least 8 minutes until it’s translucent and just starting to caramelize. Too much heat = burnt bits, and no one wants to taste that in their rice. Patience here makes the whole dish sing.
- SALT THE RICE WATER HARD: DESCRIPTION: Use twice the salt you think you need in the rice water—about 1.5 teaspoons per 2 cups of water. The rice absorbs way less flavor than you’d expect, and this guarantees each grain is seasoned through. Trust me, your taste buds will notice.
- STIR IN CHEESE LAST: DESCRIPTION: Fold in the cheese after the beans and tomatoes are off the heat—otherwise, it melts into a sad, greasy mess. If you’re using a strong cheese like cheddar, add a splash of milk or broth first to help it blend smoothly. Your future self will thank you.
Creative variations of this recipe
Tex-Mex Fiesta Style
Transform this dish into a Tex-Mex fiesta with bold flavors. Add 1 tsp chili powder and ½ tsp cayenne pepper to the spice blend, then top with ¼ cup diced jalapeños and ¼ cup chopped green onions before broiling.
For extra heat, sprinkle 1 tbsp hot sauce (like Cholula) over the cheese topping before serving. Serve with warm tortillas or corn chips for a complete Tex-Mex spread. 🌶️
Cajun Creole Twist
Give it a Louisiana-inspired kick by adding ½ tsp dried thyme and ½ tsp dried oregano to the spice mix. Stir in 1 diced bell pepper (any color) with the onions, and finish with 2 tbsp chopped fresh parsley instead of cilantro.
A dash of Cajun seasoning (like Tony Chachere’s) on the cheese topping elevates the flavor profile. Pair with crusty French bread for a full Cajun experience. 🌿
Vegan Cheesy Delight
Keep it plant-based by swapping the dairy cheeses for 1.5 cups vegan cheese shreds (like Daiya or Violife) and adding 1 tbsp nutritional yeast for a cheesy, umami boost. Use 1 tbsp olive oil instead of butter, and ensure your broth is vegan.
For extra richness, stir in 2 tbsp cashew cream (blend soaked cashews with water) before adding the cheese. The texture stays crispy, and the flavor is just as satisfying. 🌱
Spicy Sriracha Kick
For a fiery twist, stir 1 tbsp sriracha into the tomato broth before adding the rice and beans. Top the cheese with 1 tbsp chopped scallions and a drizzle of sriracha mayo (mix 2 tbsp vegan mayo with 1 tsp sriracha).
Garnish with sesame seeds for a fusion flavor explosion that balances heat and creaminess. This version is a crowd-pleaser at spicy food gatherings. 🔥
Breakfast-for-Dinner Version
Turn this into a hearty breakfast dish by stirring in 2 scrambled eggs (or tofu scramble for vegan) into the rice mixture before adding the cheese. Top with 2 tbsp crumbled bacon bits (or vegan bacon) and ¼ cup pickled jalapeños for tangy crunch.
Serve with a side of avocado slices and hot sauce for dipping. It’s a fun, unexpected way to start (or end) your day. 🍳
Nutrition facts
Frequently asked questions
Can I use brown rice instead of white rice?
Yes, but you'll need to adjust the cooking time. Brown rice takes about 30-40 minutes longer than white rice to fully cook. For best results, start with 1.5 cups uncooked brown rice and 3 cups vegetable broth (instead of 1.5 cups). Simmer uncovered for 40-45 minutes until tender, adding water as needed. The texture will be nuttier and heartier, but the crispy cheese topping will still work beautifully.
Why did my cheese topping get oily instead of crispy? This usually happens when the cheese melts too slowly or the heat isn't high enough. For a perfect crispy crust,
Can I make this dish ahead of time?
Prepare the entire dish (without the cheese topping) up to 2 days ahead and refrigerate. When ready to serve, sprinkle the cheese on top and broil for 3-5 minutes at 375°F until bubbly and golden. For leftovers, reheat covered in the microwave for 2-3 minutes, then uncover and broil for 1-2 minutes to restore crispiness. The flavors actually deepen overnight!
What's the best way to make this vegan?
Replace the dairy cheese with 1.5 cups vegan cheese shreds (like Daiya or Violife) and add 1 tbsp nutritional yeast for a cheesy flavor. Use 1 tbsp olive oil instead of butter, and ensure your broth is vegan. For extra richness, stir in 2 tbsp cashew cream (blend soaked cashews with water) before adding the cheese. The texture stays crispy, and the flavor is just as satisfying!
Can I add meat to this recipe?
Yes! Stir in ½ lb cooked ground turkey or sausage with the black beans, or add 1 cup diced chicken after the rice is cooked. For a heartier version, top with ¼ cup cooked ground beef or chorizo before broiling. Just reduce the cheese slightly to balance the extra fat. This turns it into a satisfying meat-and-beans dish while keeping the one-pot convenience.
