Go Back
+ servings
Indian meatballs with creamy sauce next to cauliflower rice topped with cilantro in a grey dish

Indian Meatballs Recipe with Creamy Sauce (Whole30, Paleo)

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. 
Course Main Course
Cuisine Indian
Keyword indian, meatballs, whole30
Prep Time 15 minutes
Cook Time 25 minutes
Total Time 40 minutes
Servings 6 servings
Calories 681kcal


  • 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 1/2 teaspoons garam masala
  • 1 teaspoon salt
  • coconut oil or ghee for frying

Indian Butter Sauce

  • 1/4 cup Fourth & Heart Original Ghee
  • 2 teaspoons garam masala
  • 2 teaspoons sweet paprika
  • 2 teaspoons ground coriander
  • 1/4 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 1/2 tablespoon fresh lemon juice
  • 1 1/2 teaspoon salt


  • 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!


Calories: 681kcal | Carbohydrates: 14g | Protein: 31g | Fat: 58g | Saturated Fat: 37g | Cholesterol: 138mg | Sodium: 1517mg | Potassium: 1265mg | Fiber: 5g | Sugar: 4g | Vitamin A: 780IU | Vitamin C: 17.6mg | Calcium: 60mg | Iron: 4.5mg | Net Carbs: 9g