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. So excited to make this as my cooking debut for my new co-workers. I work at a large bank and just moved divisions after 9 years…we’re having a multi-cultural potluck this week for about 100 people, trusting these reviews and the ingredients/prep instructions partnered with a slow crock pot and a side crock of basmati…this is going to be delicious/showstopper! Thank you!

  2. I made the meatballs as directed, but used a premade tikka masala simmer sauce and it was absolutely delicious! I am excited to try it next time with making the homemade sauce. Will be one of our go to meals.5 stars

  3. Holy WOW!!!
    I just made this tonight!!! It’s amazing!!! Only wish I could serve it with a giant bowl of white rice and some naan!!!! But…I’m on Whole30 right now :).
    This is recipe #3 that I’ve tried of yours and they are excellent and high quality every time! Keep doing what you’re doing!!! And come out with a cookbook!!!5 stars

  4. Just made this recipe but instead used venison meat for the meatballs. It was excellent! This is the perfect recipe to use venison to cover the “gaminess” taste if you aren’t too keen with deer. Love your blog, thanks for the delicious recipes!5 stars

  5. Between the mushroom bacon chicken thighs and now these…you’ve made my Whole30 MUCH more delicious!! Thank you!

  6. Just made this last night and won some high praise from my family. My husband said it’s one of the best meals I’ve ever made! Maybe something to do with all that coconut cream, but these were delish. Thanks! Also love your egg roll in a bowl.5 stars

  7. We made these last night for dinner (Day 3 of W30!). My whole family LOVED it. Great flavor and we served the sauce over dairy free mash potatoes. This will definitely be made again this round! Love your blog and your recipes! Thanks so much!5 stars

  8. are the nutrition facts for the entire recipe rather than the per serving amount? Otherwise how many meatballs are per serving

    1. It seems to be per serving, using 1/3 lb of meatball as a serving size (the sizes of the meatballs vary, so the number of meatballs can vary greatly). Our actual serving sizes were about half of this and equaled about 4 meatballs. If you go that route, the nutrition values could essentially be cut in half. Also, your sodium will vary depending on how much salt you actually use. Hope that helps!5 stars

Where To Next?