This post may contain affiliate links. Please read our disclosure policy.
These ground beef curry meatballs are pan-seared until golden, then simmered in a fragrant coconut milk broth loaded with wilted kale. It’s a deeply warming, paleo-friendly one-pan stew that’s ready in under an hour—and even better if you batch the meatballs ahead and pull them straight from the freezer.

A Paleo Curry Meatball Stew You’ll Make on Repeat
This curry meatball stew has been in my rotation for years, and honestly, it never gets old. The meatballs themselves are seasoned with curry powder, garam masala, and a hint of ginger and cinnamon, so they carry real flavor on their own before they ever hit the broth. Then that broth: It’s rich, coconut-forward, and deeply spiced in a way that’s warming without being over-the-top spicy. And finally, the kale wilts right in and soaks up all of that delicious curry flavor, creating a healthy and crave-worthy meal.
This stew is paleo and gluten-free from the start (the binder is almond flour, not breadcrumbs), works in every season, and the meatballs freeze beautifully—I almost always make a double batch and stash half for future me.
Curry Powder Quality Matters
Curry powder is honestly one of my all-time favorite spices: the warmth, the depth, the color it gives everything it touches. But quality really does matter here. When I tried a cheaper curry powder, it made this stew taste flat, and I couldn’t figure out why until I switched brands. I highly recommend S&B curry powder for a wonderfully potent flavor.

How to Make This Ground Beef Curry Stew
Combine all the meatball ingredients in a large bowl and mix gently with your hands until just incorporated (don’t overwork it, or the meatballs will be tough). Use a cookie scoop to portion the mixture, then roll into balls with your hands. Brown them in batches in a Dutch oven until cooked through to 160°F, then transfer to a plate and set aside while you make the broth.
Sauté the diced onion until translucent, then add the curry powder and garam masala and let them bloom in the oil for just a minute or so. Pour in the coconut milk and chicken stock, scraping up any browned bits from the bottom of the pan. Reduce the heat to medium and simmer until slightly thickened. Stir in the kale and cook until wilted, then season generously with salt and pepper.
Return the meatballs to the pan and let everything simmer together until hot.
Meal Prep Tip
Make a double batch of meatballs and freeze half in a single layer, then transfer to a freezer bag once solid. They keep for up to 3 months. Defrost in the fridge overnight, and the broth comes together in about 15 minutes on a weeknight.
They’re also great crumbled into scrambled eggs for a spiced breakfast hash, tossed with zucchini noodles for a quick curry noodle bowl, or sliced over a grain bowl with rice and roasted veggies.
Ingredient Notes & Substitutions
- Ground beef: 80/20 is the sweet spot. When I tried a leaner blend, the meatballs turned out dry. Ground turkey or ground chicken will work in a pinch, but go for dark meat if you can (the extra fat keeps the meatballs moist and tender). Ground lamb is also wonderful here and leans into the curry spice profile beautifully.
- Almond flour: This is the paleo, gluten-free binder. Use fine, blanched almond flour (not almond meal, which is coarser and can make the meatballs dense—trust me, I’ve made that mistake before). If you’re not keeping things grain-free, swap in regular breadcrumbs at the same ratio. For a nut-free paleo binder, try tapioca flour at about half the amount.
- Full-fat coconut milk: Don’t swap this for light. I tried that once, and the broth turned out watery and thin. If your broth still seems thin after simmering, let it go for a few extra minutes uncovered before adding the kale.
- Garam masala: If you’re out of it, increase the curry powder slightly and add a pinch each of cumin, coriander, and cardamom to approximate it.
- Kale: Curly or lacinato (Tuscan) kale both work great. Strip the stems and tear the leaves into rough pieces. They wilt down considerably, so don’t worry if it looks like a lot going in. Spinach or Swiss chard make easy swaps and wilt even faster. Collard greens work too, but need a few extra minutes to soften.
- Chicken stock: Vegetable broth works just fine here and keeps things fully paleo-compliant.

Can I Bake the Meatballs Instead?
Yes! Bake them at 400°F (200°C) for 18-20 minutes, flipping once halfway. You won’t get quite the same sear, but it’s a great hands-off option that lets you work on the broth at the same time. Just add them to the stew at the end as usual.
Serving Suggestions
This is complete as a stew on its own—just serve it in deep bowls. But if you want to stretch it further, cauliflower rice is the paleo-friendly choice (and soaks up the broth perfectly). Regular white rice or brown rice works great too, and so does naan or crusty bread if you’re not keeping things grain-free.
Storage & Freezing Instructions
Leftovers keep in an airtight container in the refrigerator for up to 4 days. The meatballs will continue absorbing the broth as they sit, so the stew tends to thicken. I recommend adding a splash of stock or water when reheating to loosen it back up.
The finished stew can also be frozen in individual portions, though the kale will be a bit softer after thawing.

Curry Meatballs and Kale Stew
Ingredients
- 1 pound (454 g) ground beef
- ½ medium onion, diced
- ⅔ cup (75 g) almond flour
- 2 large eggs
- 2 teaspoons curry powder, my FAVORITE one and the only one I use because of how potent it is!
- 2 teaspoons garam masala
- ½ teaspoon ground ginger
- Pinch of ground cinnamon
- ½ teaspoon kosher salt
- ¼ teaspoon ground black pepper
For the stew
- 2 tablespoons coconut oil, divided
- ½ medium onion, diced
- 3-4 teaspoons curry powder
- 2 teaspoons garam masala
- 13.5 ounce (382 ml) can of full fat coconut milk
- 1 cup (237 ml) chicken stock
- 2 cups (134 g) loosely packed kale leaves
- Salt and pepper, to taste
Instructions
- In a large bowl, add all the ingredients for the meatballs and mix together with your hands, careful not to overwork the meat.1 pound (454 g) ground beef, 1/2 medium onion, 2/3 cup (75 g) almond flour, 2 large eggs, 2 teaspoons curry powder, 2 teaspoons garam masala, 1/2 teaspoon ground ginger, Pinch of ground cinnamon, 1/2 teaspoon kosher salt, 1/4 teaspoon ground black pepper
- Line a large baking sheet with wax paper and using a medium cookie dough scoop (used specifically for meats) divide the meat into balls. Once all divided, shape the meat into ball shapes. At this time, you can freeze half of them in a freezer-safe plastic bag.
- In a large skillet, add coconut oil over medium high heat. Once oil has heated up, add the meatballs. Brown on all sides until meatballs are cooked through. Remove from skillet and set aside on a plate. Place in microwave to keep warm.1 tablespoons coconut oil
- In the same skillet over medium high heat, add the remaining coconut oil and add the diced onions. Saute until translucent then add the curry powder and garam masala.1 tablespoons coconut oil, 1/2 medium onion, 3-4 teaspoons curry powder, 2 teaspoons garam masala
- Stir to incorporate then add the coconut milk and chicken stock.13.5 ounce (382 ml) can of full fat coconut milk, 1 cup (237 ml) chicken stock
- Lower the heat to medium and let mixture simmer and thicken for about 10 minutes. Add the kale leaves and cook until wilted. Season with salt and pepper to taste.2 cups (134 g) loosely packed kale leaves, Salt and pepper
- Add the meatballs back into the stew to warm up for 5 minutes. Remove skillet from heat and divide into bowls and serve!
Nutrition
Photographs by Jess Gaertner Creative


















can you use any type of curry? like Jamacian?
I linked the curry powder to use in the recipe card several times. I don’t recommend Jamaican.
Delicious! I totally made the soup out of this. Put a whole pack of chicken stock, two cans of coconut, added rice and some lemon at the very end. So good!
that looks very delicious I’m going make that real soon..
This was an amazing dish. I had all the ingredients in my pantry, so it was only a matter of some ground beef and Kale (I prefer rainbow chard so I substituted). I had recently added these spices to my pantry (I add 2 new ones every trip to the grocery) but I had very limited experience with them. Thank you for recommending I freeze half the meatballs, they were very filling! Love to know a couple other recipe ideas that would include the leftover meatballs.
You could make a zucchini noodle dish and use the meatballs for that! Or you can break up the meatballs and make a breakfast for dinner dish with scrambled eggs or an omelet.
Julie these meatballs look great!! Love the curry flavors.
This looks so comforting! Love the use of curry in this soup!
Now that is a tasty looking meatball stew!
I can’t wait for cooler weather to be able to enjoy some warm heart soup!