This Post May Contain Affiliate Links. Please Read Our Disclosure Policy.

This post was generously sponsored by Sprouts Farmers Market but all opinions are my own.

This Indian meatballs recipe with a creamy sauce makes tender, perfectly spiced meatballs in a rich sauce inspired by butter chicken. Whole30, paleo, gluten, and dairy free, the Indian meatballs include shredded zucchini to keep them moist and tender! They’re a quick Indian dinner and are perfect for meal prep.

Indian meatballs with creamy sauce next to cauliflower rice topped with cilantro in a grey dish

How many Indian meatballs with that creamy tomato sauce can I eat off the Indian lunch buffet?

Like way, way too many. You know what I’m talking about, right? Those little chicken tikka masala-inspired meatballs that show up at the lunch buffet and escape before the dinner menu takes over, the meatballs that fill an entire plate for me and disappear just as quickly.

There’s something about that rich, creamy tomato sauce that I just can’t get over, and the tender little meatballs are irresistible!

These Indian meatballs with a creamy sauce were inspired by the Indian flavors we love, along with the perfect little meal prep or dinner method: meatballs! I used my Indian Butter Chicken recipe as a guide, along with my Best Ever Paleo Italian Meatballs to create a beautiful marriage: moist and veggie-heavy little meatballs along with a rich, spiced sauce to simmer it all in.

Indian meatballs with creamy sauce next to cauliflower rice topped with cilantro in a cast iron skillet on a green napkin

Why we love this recipe

  • These Indian meatballs are super flavorful, loaded with fresh aromatics and herbs.
  • The sauce is perfectly spiced with Indian spices, ginger, and cinnamon, and it’s balanced with coconut cream.
  • Ghee provides a rich base, like butter but without the lactose or milk solids. It’s also Whole30 compliant and paleo! My absolute favorite is 4th & Heart Original Ghee.
  • Sprouts Coconut Cream is my hands-down favorite, and I keep tons of this stuff in my pantry. This coconut cream is super heavy on the actual solid, white coconut cream, and it’s perfect for this recipe.
  • This recipe makes a big skillet full of meatballs, so they’re perfect for meal prep!
Indian meatballs with creamy sauce next to cauliflower rice topped with cilantro in a grey dish on a green napkin with 4th & Heart Ghee in background

Tips

  • I use a disher to scoop out the meatballs mixture then round them in between my palms. This method means making these meatballs is super easy and a quick process.
  • Use 2 pounds of ground pork if you prefer, or 2 pounds of ground chicken. Any combination of these will work, and you can use ground turkey, too!
  • If you prefer a super creamy sauce, use an 8-oz. can of tomato sauce, rather than a 15-oz. can.
  • “Coconut cream” means just the white, solid part of a can of coconut milk or coconut cream. I recommend using Sprouts Coconut Cream, which has about 1 cup of coconut cream per can. I always have at least 5 or 6 cans in our pantry!
  • Don’t overcrowd the meatballs; this will actually make the process go faster since you’ll be able to push them around with a spatula once they’re browned on one side.
  • Serve over steamed cauliflower rice or regular basmati rice (if you’re not paleo or on a Whole30) and top with plenty of fresh chopped cilantro.
Indian meatballs with creamy sauce next to cauliflower rice topped with cilantro in a grey dish

Other recipes you’ll love:

5 from 22 votes

Indian Meatballs Recipe with Creamy Sauce (Whole30, Paleo)


Prep 15 minutes
Cook 25 minutes
Total 40 minutes
Perfectly spiced, tender Indian meatballs with a creamy sauce. Whole30, paleo, and dairy free, this Indian dinner recipe has hidden veggies that keep the meatballs moist. 
6 servings

Ingredients

  • 1 pound ground pork
  • 1 pound ground chicken or 1 more pound ground pork
  • 2 cups shredded zucchini
  • 2 cloves garlic minced
  • 2 teaspoons fresh ginger grated
  • 2 tablespoons fresh cilantro chopped
  • 1 ½ teaspoons garam masala
  • 1 teaspoon salt
  • coconut oil or ghee for frying

Indian Butter Sauce

  • ¼ cup Fourth & Heart Original Ghee
  • 2 teaspoons garam masala
  • 2 teaspoons sweet paprika
  • 2 teaspoons ground coriander
  • ¼ teaspoon cayenne pepper
  • 1 tablespoon fresh ginger grated
  • 1 cinnamon stick
  • 1 15- ounce can tomato sauce or for a creamier sauce, use an 8-ounce can
  • 1 tablespoon coconut aminos or coconut sugar if desired and not on Whole30
  • 2 cups coconut cream only the solid white part from about 2 cans of Sprouts Coconut Cream
  • 1 ½ tablespoon fresh lemon juice
  • 1 ½ teaspoon salt

Instructions

  • Combine all meatball ingredients in a large bowl. Using a small disher or tablespoon, scoop out uniformly sized balls of the mixture and place on baking pans. Roll between your palms to smooth and form round balls.
  • Heat a thin layer of refined coconut oil or ghee in a large skillet, preferably cast-iron, over medium heat. Working in batches, fry meatballs, taking care not to overcrowd, until browned. Meatballs will finish cooking in a later step, so you do not need to cook them through in this step. Transfer to a plate, and fry remaining meatballs.
  • Once meatballs are cooked, clean out skillet. Add 1/4 cup ghee to skillet and melt over medium-low heat. Add garam masala, paprika, coriander, cayenne pepper, ginger, and cinnamon stick. Stir fry 1 minute until fragrant and a smooth, incorporated paste.
  • Increase heat to medium and add tomato sauce and coconut aminos or sugar (Do not use the coconut sugar if on a Whole30). Simmer for 5 minutes or until sauce has thickened, stirring occasionally.
  • Add coconut cream, lemon juice, and meatballs and simmer for 5-10 minutes or until sauce has thickened slightly and meatballs are cooked through. Add plenty of salt to taste; using enough will cut the heavy spice flavor and round out the entire dish. Serve over cooked cauliflower rice with chopped fresh cilantro.
If you prefer a creamier sauce, use an 8-oz. can in the sauce, rather than a 15-oz. can.
If you’re on a Whole30, do not use the coconut sugar in the sauce. You must use the coconut aminos, which I prefer in the sauce anyway!

Approximate Information for One Serving

Calories: 681calProtein: 31gFat: 58gSaturated Fat: 37gCholesterol: 138mgSodium: 1517mgPotassium: 1265mgTotal Carbs: 14gFiber: 5gSugar: 4gNet Carbs: 9gVitamin A: 780IUVitamin C: 17.6mgCalcium: 60mgIron: 4.5mg
Nutrition Disclaimers
Number of total servings shown is approximate. Actual number of servings will depend on your preferred portion sizes.
Nutritional values shown are general guidelines and reflect information for 1 serving using the ingredients listed, not including any optional ingredients. Actual macros may vary slightly depending on specific brands and types of ingredients used.
To determine the weight of one serving, prepare the recipe as instructed. Weigh the finished recipe, then divide the weight of the finished recipe (not including the weight of the container the food is in) by the desired number of servings. Result will be the weight of one serving.

Did You Make This Recipe?

Tag @40aprons on Instagram and be sure to leave a review on the blog post!

Leave A Review

Your email address will not be published. Required fields are marked *

Recipe Rating




This site uses Akismet to reduce spam. Learn how your comment data is processed.

36 Comments

  1. This is so good.
    I added a bag of chopped onions and bell pepper blend to the butter before I added the seasonings. I also added frozen spinach towards the end and used half and half instead of coconut milk. Added an egg and about 1/3 cup plain breadcrumbs to the meatball blend and made mine w chicken and turkey because I dont eat pork. Used some smoked paprika and chili powder in the sauce along with garlic and onion powders. Seriously so so good.5 stars

  2. The whole family loved these! I used 2 lbs of ground turkey because that’s what I had on hand. Otherwise, I followed the recipe as written until Step 5 when I put it all in the slow cooker for 4 hours on low and seasoned with salt just before serving. Thank you for a healthful and satisfying make-ahead meal!5 stars

  3. This recipes looks and sounds amazing. Is there a substitute for coconut aminos that would work in this recipe? Fish sauce, maybe? Or tamari?

  4. This is a fantastic recipe! We love them as is or we slice a few & put in low carb wraps with red onion, lettuce, cucumber & tzatziki… amazing.5 stars

  5. Hiya….and thank you ever so much for posting this incredible Indian meatball receipe…I am of Indian origin but Canadian born….I find this recipe a perfect blend of the east palate meeting the western influence.
    Most excellent and thank you for sharing and yes, definitely the zuchini adds the much needed moistness. At first I thought oh no, zuchinni is not my favorite vegetable but I trusted your judgment ….well done!
    Actually going to make batches of the meatballs as Xmas presents for several friends.5 stars

    1. We’re thrilled to hear that you enjoyed this recipe, Ranji! Thanks for sharing your experience. 🙂5 stars

  6. Making this FABULOUS recipe for the 4th time…tripling it for the first time! My family and I would eat it every night if given the choice!5 stars

    1. What a stellar compliment, Janice! Thank you! Glad you and your family enjoy this recipe.5 stars

Where To Next?