You didn’t come here for a sad, rubbery chicken breast sitting on a pile of plain rice.
This Garlic Butter Chicken and White Bean Skillet is the kind of dinner that hits every craving and still racks up 52 grams of protein per serving. It’s rich, it’s garlicky, it’s got crispy-edged chicken thighs and creamy white beans swimming in a buttery pan sauce.
And it comes together in one pan in under 35 minutes.
No fancy techniques. No hard-to-find ingredients. Just a legitimately good dinner that also happens to be really good for you.
What Makes This Recipe Worth Making
Here’s the thing nobody tells you about high-protein dinners: most of them are boring.
Bland chicken. Plain cottage cheese bowls. Egg whites for the third time this week.
This one is different. Bone-in, skin-on chicken thighs are the secret weapon here. They’re naturally higher in protein than you’d think (about 28g per thigh), they crisp up beautifully in a cast iron skillet, and they stay juicy even if you cook them a minute or two too long.
The white beans (cannellini) add another 15 grams of protein per cup, plus fiber that keeps you full for hours. This is one of those meals where you finish eating and genuinely don’t think about food again until the next morning.

What You’ll Need
For the Chicken
- 4 bone-in, skin-on chicken thighs (about 2 lbs total)
- 1 tsp kosher salt
- ½ tsp black pepper
- 1 tsp smoked paprika
- ½ tsp garlic powder
- 1 tbsp olive oil
For the Skillet Sauce
- 3 tbsp unsalted butter
- 6 garlic cloves, thinly sliced
- 1 small yellow onion, diced
- 1 tsp fresh thyme leaves (or ½ tsp dried)
- ½ tsp crushed red pepper flakes
- 1 cup low-sodium chicken broth
- 2 cans (15 oz each) cannellini beans, drained and rinsed
- 2 cups fresh baby spinach
- Juice of half a lemon
- Fresh parsley for garnish
Tools You’ll Need
- 12-inch cast iron skillet (or heavy oven-safe pan)
- Tongs
- Measuring spoons
- Cutting board and sharp knife
- Small mixing bowl
- Wooden spoon or spatula
Pro Tips 🍳
These are the things I wish someone had told me the first time I made this.
- Dry your chicken thoroughly before seasoning. Pat it down with paper towels. Any moisture on the skin = steam in the pan = no crispy skin. This one step makes a huge difference.
- Start the chicken cold-side down in a cold pan, then turn on the heat. Sounds counterintuitive, but rendering the fat slowly from a cold start gives you crispier skin than dropping it into a hot pan.
- Don’t move the chicken once it’s in the pan. It’ll release naturally when it’s ready. If you try to flip it and it sticks, give it another 2 minutes.
- Smash a few of the white beans with the back of your spoon. This thickens the sauce without adding anything extra. Total game changer.
- Add the spinach right at the end off the heat. It wilts perfectly from the residual warmth without turning into a soggy mess.
Substitutions and Variations
Swap the protein:
- Boneless thighs work great, reduce cook time by about 5 minutes
- Salmon fillets instead of chicken (40g protein per fillet, cook skin-side down for 4-5 min per side)
- Shrimp for a faster version (cook 2-3 min per side, add the beans with the broth)
Swap the beans:
- Great Northern beans are nearly identical to cannellini
- Chickpeas add a slightly nuttier flavor and more texture
- Navy beans work but break down a little more into the sauce (great if you want it thicker)
Make it dairy-free:
- Swap the butter for ghee or extra olive oil
- The sauce won’t be quite as rich but still really good
Up the protein even more:
- Stir in 2 tbsp plain Greek yogurt right before serving for an extra creamy sauce and an additional 3-4g protein per serving

Make-Ahead Tips
This is one of those meals that genuinely tastes better the next day.
- Season the chicken up to 24 hours in advance and store uncovered in the fridge. The skin dries out more = even crispier when you cook it.
- The bean and sauce base can be made ahead and stored separately. Reheat it gently on the stovetop and add the seared chicken on top.
- Full leftovers keep well for 3-4 days in an airtight container in the fridge.
Nutritional Breakdown (Per Serving)
Based on 4 servings. Values are approximate.
| Nutrient | Amount |
|---|---|
| Calories | ~520 |
| Protein | 52g |
| Carbohydrates | 28g |
| Fat | 22g |
| Fiber | 8g |
| Sodium | 580mg |
The protein number is the one worth paying attention to. 52g per serving covers most people’s entire daily protein goal in one meal alone.
Good to Know for Different Diets
- Gluten-free: Naturally gluten-free as written
- Dairy-free: Sub butter for olive oil or ghee
- Low-carb: Reduce to 1 can of beans, serve over cauliflower rice
- Higher calorie: Drizzle olive oil before serving and pair with crusty sourdough
Meal Pairing Suggestions
This dish is a full meal on its own, but if you want to round it out:
- A simple arugula salad with lemon vinaigrette cuts through the richness perfectly
- Crusty bread for soaking up that sauce (do not skip this)
- Roasted broccolini on the side if you want extra greens
- A dry white wine like Pinot Grigio pairs really well with the garlic butter
How to Make It
Step 1: Season the Chicken
Mix the salt, pepper, smoked paprika, and garlic powder in a small bowl. Pat the chicken thighs completely dry with paper towels, then rub the spice mixture all over both sides.
Step 2: Sear the Chicken
Place the chicken skin-side down in a cold cast iron skillet. Turn the heat to medium. Cook for 10-12 minutes without moving until the skin is deeply golden and crispy. Flip and cook for another 5 minutes. Remove and set aside (it’ll finish cooking in the sauce).
Step 3: Build the Sauce
In the same skillet, reduce heat to medium-low. Add the butter and let it melt into the chicken drippings. Add the onion and cook for 3-4 minutes until softened. Add the sliced garlic, thyme, and red pepper flakes. Cook for 1 more minute, stirring constantly, until fragrant.
Step 4: Add the Beans and Broth
Pour in the chicken broth and scrape up any brown bits from the bottom of the pan. Add the drained cannellini beans. Use the back of your spoon to lightly smash about a quarter of the beans against the side of the pan. This thickens the sauce naturally without any flour or cornstarch.
Step 5: Finish the Chicken
Nestle the seared chicken thighs back into the skillet, skin-side up. Simmer everything together on medium-low for 8-10 minutes until the chicken is cooked through (internal temp of 165°F).
Step 6: Add the Greens and Serve
Turn off the heat. Add the spinach and stir gently until wilted, about 1-2 minutes. Squeeze lemon juice over the top, taste, and adjust salt if needed. Garnish with fresh parsley and serve straight from the skillet.
Total cook time: 35 minutes.
Leftovers and Storage
Fridge: Store in an airtight container for up to 4 days. The flavors get even better overnight as the beans absorb more of the sauce.
Freezer: Freeze for up to 2 months. The beans will be a little softer after thawing but still taste great.
Reheating: Warm on the stovetop over medium-low with a splash of chicken broth to loosen the sauce. The microwave works too, just cover it so it doesn’t dry out.
Repurpose the leftovers:
- Shred the leftover chicken and add it to grain bowls
- Serve the bean sauce over pasta for a totally different meal
- Stuff it into a wrap with some Greek yogurt sauce
FAQ
Can I use boneless chicken thighs or chicken breasts?
Boneless thighs work great, just reduce the sear time to about 6-7 minutes per side. Chicken breasts can work but they’re more prone to drying out, so keep a close eye on the internal temperature and pull them at exactly 165°F.
I don’t have a cast iron skillet. What else can I use?
Any heavy, oven-safe skillet works. Stainless steel is a great second choice. Avoid non-stick for the searing step since you need higher heat to get good color on the skin.
Can I make this without the spinach?
Totally. Kale, Swiss chard, or even frozen peas are great swaps. Or skip the greens and add sun-dried tomatoes for a completely different vibe.
How do I know when the chicken skin is ready to flip?
If it sticks, it’s not ready. When the skin is properly crispy, it releases from the pan on its own. Try to gently lift an edge with your tongs. If it resists, give it a few more minutes.
Is this meal good for meal prep?
Really good for meal prep, actually. Make the full batch on Sunday, portion it into containers, and you have four lunches or dinners ready. The chicken stays juicy and the sauce keeps the beans from drying out.
What if my sauce is too thin?
Smash more beans against the side of the pan and let it simmer uncovered for a few extra minutes. It’ll thicken up fast.
Can I add more vegetables?
Yes! Cherry tomatoes added with the broth is a really good addition. Artichoke hearts, roasted red peppers, or zucchini all work well too.
Wrapping Up
If you’ve been eating the same boring chicken and rice combo on repeat, this is your sign to switch it up.
This skillet proves that high-protein meals don’t have to be bland or complicated. It’s the kind of dinner that looks impressive on the table but took you less than 40 minutes on a Tuesday night.
Make it once and I promise it’ll go straight into your regular rotation.
Drop a comment below and tell me how it went! Did you try any of the substitutions? Add something fun? I always love hearing what people do with recipes, and your questions might help someone else making this for the first time.