Whole30 Marry Me Chicken Meatballs
If you need a dinner that feels a little special but is still completely doable on a weeknight, these Whole30 Marry Me Chicken Meatballs are it.
They’re rich, creamy (without any dairy), packed with flavor, and somehow still simple. The kind of meal that tastes like you worked a lot harder than you did. Which is always a win.
This recipe takes everything you love about the classic “marry me” flavor — garlic, herbs, sun-dried tomatoes, creamy sauce — and keeps it completely Whole30, Paleo, gluten-free, and dairy-free.
No heavy cream. No breadcrumbs. No complicated swaps. Just real ingredients that come together beautifully.
The meatballs are tender and flavorful thanks to ground chicken, almond flour, egg, coconut aminos, garlic, and simple seasonings. They simmer in a creamy coconut sauce made with chicken broth, coconut cream, nutritional yeast, oregano, and sun-dried tomatoes. Finished with fresh basil, it’s bold without being overpowering.
And if you need flexibility? There’s a nut-free option and an egg-free option, so you can make it work for your family.
These Whole30 Marry Me Chicken Meatballs feel impressive. But they’re surprisingly easy. And yes — they reheat well, which makes them great for leftovers the next day.

Why You’ll Love This Recipe
- Easy enough for a busy weeknight
- Whole30 and Paleo compliant
- Made gluten-free and dairy-free
- Rich, creamy sauce without actual cream
- Nut-free option available
- Egg-free option included
- Big flavor from simple ingredients
- Feels special without extra work
It’s one of those dinners that checks all the boxes.
Ingredients
These Whole30 Marry Me Chicken Meatballs are made with simple, real-food ingredients:
Meatballs
- Ground chicken—This is available at most grocery stores but can be the most expensive ground meat. But you can make your own ground chicken at home! Making ground chicken myself saves me $3-4 per pound. You can also substitute ground turkey instead.
- Egg—Eggs are an important binder for meatballs, and I recommend using them if you can. If you need an egg-free option, use 1/4 cup mashed potatoes or a flax egg.
- Almond flour – Almond flour in this recipe acts like breadcrumbs to soften and give bulk to the meatballs. You can learn more about how Paleo flour works and Paleo flour substitutions here. If you need a nut-free option, use 1 cup mashed potatoes instead.
- Oil – Olive oil or avocado oil works well in this recipe.
- Coconut aminos – On Whole30, soy is prohibited, as is soy sauce. However, coconut aminos are a great replacement for soy sauce and add a great depth of flavor. We can find coconut aminos at Walmart or Trader Joe’s.
- Onion powder—Granulated onion or onion powder both work equally well. I buy them in bulk from Sam’s Club or Winco, but you can find them in the spice aisle of most grocery stores.
- Minced garlic—I prefer to buy pre-minced garlic, like this one from Walmart, but you can always mince your own whole garlic cloves instead.
- Salt and pepper – Traditional table salt and ground black pepper.

Sauce
- Coconut cream – No, canned coconut creme is not the same as canned coconut milk. It’s higher in healthy fats and its ability to get solid. Make sure you are using canned coconut CREME or the results will be watery. I prefer this one by Thai Kitchen that I find at Walmart. Also, you will need to put this in the fridge and chill it. This separates out the thickest part of the coconut cream, as it solidifies when cold. You will only use the SOLID part of the chilled coconut cream, to get the closest to a heavy cream swap. SUBSTITUTION: You can also use Vegan Heavy Cream, but it is not Whole30. I get and love the Country Crock brand at Walmart.
- Chicken broth – Use the best quality chicken broth you can afford. Double-check your ingredients for added sugar if you are on Whole30. We like this budget-friendly Whole30 option from Walmart.
- Sun-dried tomatoes, chopped – These can usually be found in the tomato aisle in a jar. Here is an example of what you are looking for, ones we find at Walmart.
- Nutritional yeast – This cheesy-tasting seasoning is a staple in dairy-free cooking, giving the pasta a deliciously savory flavor without any cheese. My favorite brand that is also very affordable, is the Trader Joe’s brand. I also often get this one from Walmart.
- Dried oregano – Easily found in most seasoning aisles.
- Potato or arrowroot starch (for thickening) – Potato and arrowroot starch or flour act like cornstarch to give this sauce thickness. Be sure to whisk it into the sauce ingredients thoroughly to avoid clumping. I do NOT recommend tapioca flour for this recipe. Though it will thicken it, it will also give it a tacky texture. Read here to learn more about how Paleo flours behave.
- Fresh Basil – This is optional but strongly recommended for a pop of fresh taste to the finished dish. Chop it up and sprinkle it on top!
The almond flour keeps the meatballs tender, while coconut aminos add depth without soy. The sauce gets its creaminess from coconut cream and richness from nutritional yeast. Arrowroot or potato starch helps thicken everything into a velvety finish.
How to Make It
Meatballs
- If using the oven, turn your oven onto high broil and line a rimmed baking sheet with parchment and a cooling rack, if you have one.
-
In a medium bowl, combine all of the meatball ingredients. Mix well but try not to over mix to avoid making the meatballs tough.
-
Shape ground chicken mixture into 30 1 1/2-tablespoon balls. I use a cookie scoop to help make sure they are all the same size so they will all cook at the same rate. The mixture will be very wet, but this will lead to nice, moist meatballs!
-
AIR FRY in a single layer at 425 for 9-11 minutes, or until browned and no longer pink inside. Watch these; every air fryer is different, and you want them lightly browned but not dry.
-
OVEN: Broil for 10 minutes*, or until browned, flip, and broil for 3-4 more minutes. *Watch these closely! Browning time will vary based on size of oven and proximity to the broiler.

Sauce
-
While meatballs are cooking, drain, blot dry, and chop the sun-dried tomatoes. My boys don’t like large chunks of these tomatoes, so I finely chop them, but that’s up to you. But be sure to blot the oil off well, or your final dish will be oily!
- In a medium saucepan over medium heat, whisk together the chicken broth, nutritional yeast, dried oregano, remaining 1 teaspoon salt, and only 1 tablespoon of the starch.
-
Add the sun-dried tomatoes to the pan. Then, add ONLY the white solid part of the chilled coconut cream (set aside the opaque liquid, you won’t use it in this recipe – great for smoothies!). Mix until it has melted.
-
Bring the sauce to a boil then simmer until thickened, about 5 minutes, or until it reaches your desired consistency. If sauce is not thick enough, combine 1 additional tablespoon starch with 1 additional tablespoon broth, whisking until smooth. If it is too thick, add a 1/4-1/2 cup additional chicken broth. Add to pan, stirring in immediately, and cooking until sauce thickens as desired.
Combine the meatballs in the sauce and serve over steamed cauliflower rice (Whole30) or rice (gluten-free), or gluten-free pasta of choice.
Other 30-Minute Chicken Dinner Recipes You’ll Love
Here are some other favorite 30-minute chicken dinners that are also Whole30, Paleo, gluten-free, and dairy-free, plus kid-approved!
- Garlic Butter Chicken
- Easy Ground Orange Chicken
- Blackened Chicken
- Chicken Cauliflower Alfredo
- Paleo Chick-fil-A Chicken
Because dinner doesn’t need to be complicated. It just needs to work.


Whole30 Marry Me Chicken Meatballs
Ingredients
Meatballs
- 1 pound ground chicken
- 1 cup almond flour see notes for nut-free option
- 1 large egg see notes for egg-free option
- 2 tablespoons coconut aminos
- 1 tablespoon olive oil or avocado oil
- 1 tablespoon fresh minced garlic
- 1 teaspoon onion powder
- 3/4 teaspoon salt
- 1/2 teaspoon black pepper
- 1 12-ounce bag fresh or frozen riced cauliflower optional, to serve (Whole30), can also serve on steamed rice or cooked pasta
Sauce
- 1 8-ounce jar sun-dried tomatoes drained, blotted dry, and chopped (about a 1/3 cup chopped)
- 1 1/2 cup chicken broth
- 1/4 cup nutritional yeast
- 1 tablespoon arrowroot or potato starch
- 1 teaspoon dried oregano
- 1 teaspoon garlic salt
- 1 13.66 ounce can full-fat unsweetened canned coconut cream chilled, solid part only; or 1 cup vegan heavy cream (not Whole30)
- 0.5 ounces fresh basil leaves finely chopped
Instructions
Meatballs
- If using the oven, turn your oven onto high broil and line a rimmed baking sheet with parchment and a cooling rack, if you have one.
- In a medium bowl, combine all of the meatball ingredients. Mix till combined but try not to over mix to avoid making the meatballs tough.
- With greased hands, shape ground chicken mixture into 30 1.5-tablespoon balls. I use a cookie scoop to help make sure they are all the same size so they will all cook at the same rate. The mixture will be a little sticky, but this will lead to nice, moist meatballs!
- AIR FRY in a single layer at 425 for 9-11 minutes, or until browned and no longer pink inside. Watch these; every air fryer is different, and you want them lightly browned but not dry.
- OVEN: Broil for 10 minutes*, or until browned, flip, and broil for 3-4 more minutes. *Watch these closely! Browning time will vary based on size of oven and proximity to the broiler.
Sauce
- While meatballs are cooking, drain, blot dry, and chop the sun-dried tomatoes. My boys don't like large chunks of these tomatoes, so I finely chop them, but that's up to you. But be sure to blot the oil off well, or your final dish will be oily!
- In a medium saucepan over medium heat, whisk together the chicken broth, nutritional yeast, dried oregano, remaining 1 teaspoon salt, and only 1 tablespoon of the starch.
- Add the sun-dried tomatoes to the pan. Then, add ONLY the white solid part of the chilled coconut cream (set aside the opaque liquid, you won't use it in this recipe - great for smoothies!). Mix until it has melted.
- Bring the sauce to a boil, then simmer until thickened and flavors combine, about 10 minutes. This should turn from creamy yellow to orange-ish once flavors combine. If sauce is not thick enough, combine 1 additional tablespoon starch with 1 additional tablespoon broth, whisking until smooth. Add to pan, stirring in immediately, and cooking until sauce thickens as desired.Taste the sauce, adding additional garlic salt if needed.
- Combine the meatballs in the sauce and serve over steamed cauliflower rice (Whole30) or rice (gluten-free), or gluten-free pasta of choice. Top with chopped basil.
- FREEZE: Freeze leftovers in a sealed container in the freezer for up to 3 months.
Video
Notes
- EGG: Eggs are an important binder for meatballs and I recommend using it if you can. If you need an egg-free option, you can use 1/4 cup mashed potatoes or a flax egg instead.
- NUT-FREE: Almond flour in this recipe acts like breadcrumbs to both soften and give bulk to the meatballs. You can learn more about how Paleo flours work and paleo flour substitutions here. If you need a nut-free option, you can use 1 cup mashed potatoes instead
















So delicious!!! Cutting the Sundried tomatoes up small made the texture better and the whole flavor profile was fantastic
I’m so glad your family loved this one! I agree that the smaller sun-dried tomatoes made for a great texture, my family prefers. Thank you for the review!
Made these last week and they were so yummy! Didn’t last very long.
So glad you enjoyed them! Sounds like they disappeared quickly, which is always a good sign. Thanks so much for taking the time to leave a review.
Hi! I’m going to make this today for lunch prep for the week. How many meatballs in a serving for the calories listed?
Hello! Glad you want to dive into this one. It says it at the top of the recipe: 5 servings of 6 meatballs each (assuming you make them the 1.5-tablespoon size). Hope it’s a hit!
Is it recommended to prep the meatballs, cook, and then freeze? Or go through the entire recipe (making sauce too!) and then freeze?
You can do either! I prepped and cooked the full recipe and then froze it, which reheated well. But you could freeze just the cooked meatballs and then make the sauce fresh when ready to serve. Either works! Enjoy : )
As someone who isn’t a giant fan of sundried tomatoes, I tried this recipe with some skepticism, and couldn’t be more thrilled to have been proven wrong!! It was lovely. The meatballs came out really tender and the sauce was a pleasant tomatoey/coconutty blend. This will definitely be put into regular rotation.
I’m so glad it won you over — that makes me smile! And I love that it’s headed into your regular rotation. 💛 Thanks so much for taking the time to leave a review!