These dairy free Swedish meatballs are a warm, comforting classic made with clean ingredients and creamy gravy that tastes just like the traditional.

Jump to:
Back when I did my first Whole30 in 2017, I started learning how much better I felt when I used real, wholesome ingredients. That's what inspired this recipe. These Swedish meatballs are made with tender bison (but you can use ground beef), flavorful, and coated in a creamy dairy free gravy. I love serving them over my Dairy Free Mashed Potatoes or with a side of Air Fryer Acorn Squash when Brent and I want something cozy to enjoy on a chilly night.
What Makes This Recipe Unique
This recipe uses ground bison instead of beef, which gives the meatballs a rich flavor but keeps them lean and full of protein. It's one of my favorite swaps because it still feels hearty but a little lighter. And just like all my recipes, this one's gluten free and made with ingredients you can actually feel good about eating.
Ingredients
Meatballs

Gravy

Ingredient note: If you have a dairy allergy or want to make this 100% dairy free then sub the ghee with vegan butter.
What kind of dairy free milk works best?
I like using unsweetened almond milk because it's light in flavor. If you want a creamier texture then you can use unsweetened full fat coconut milk or coconut cream.
What do I serve them with?
I love serving mine over mashed potatoes, but these would also go great over rice, with air fryer broccolini, or with a slice of dairy free cornbread.
Substitutions
Ground bison- You can use ground beef instead of bison.
Almond flour- Gluten free breadcrumbs can be used. You can also use regular bread crumbs if you don't have a gluten allergy.
Dairy free milk- Any unsweetened dairy free milk will work in this recipe, but I use almond milk.
Coconut aminos- You can use Worcestershire sauce or gluten-free soy sauce.
Arrowroot flour- If you don't have arrowroot flour, tapioca flour, gluten free flour, or cornstarch can be used.
Beef broth- If you don't have beef broth or beef stock, you can use chicken or vegetable broth, stock, or bone broth.
Ghee- If you have a dairy allergy you can use avocado oil, coconut oil, or olive oil.
Egg- You can use a flax egg. A flax egg is 1 tablespoon of ground flaxseeds and 3 tablespoons of warm water. Mix the ground flaxseeds with the warm water and let it sit for about 5 minutes then add it to the meatball mixture.
Step by step

- Step 1: Add the meatball ingredients to a large bowl and mix together using your hands.

- Step 2: Using your hands or an ice cream scoop, roll the meatball mixture into 1.5 inch balls and place them on a plate. Put the plate in the refrigerator and let the meatballs chill for 10-30 minutes, then add avocado oil or olive oil to a large skillet and turn heat to medium. Cook the meatballs for 5 minutes, and then turn them upside down and cook the other side for another 5 minutes.

- Step 3: Once you have cooked both sides of the meatballs, using tongs, turn the meatballs on their sides and cook each side for 2 minutes, then remove from the skillet and place on a plate.

- Step 4: Add the ghee or vegan butter to the hot pan the meatballs were in and let it melt. Add the arrowroot to the pan and whisk together with the melted ghee for about 1-2 minutes.

- Step 5: Mix together the gravy ingredients in a small bowl. Slowly and a little at a time, add the gravy mixture to the skillet and whisk to combine. I pour a few tablespoons at a time. Let the gravy thicken for about 5 minutes on medium heat, whisking occasionally.

- Step 6: Once the gravy has thickened, add the meatballs back into the pan with the gravy and turn the heat to low. Let the meatballs and gravy cook on low for 5 minutes.
Kaleena's Tips
- Chill the meatballs before cooking so they stay firm and juicy.
- Use full-fat unsweetened coconut milk for an extra creamy sauce.
- If your gravy looks too thin, whisk in a bit more arrowroot slurry (1 teaspoon arrowroot and a tablespoon or two of broth or milk).
Storing, Freezing, and Reheating
Storing: Let the meatballs cool completely, then store them in an airtight container in the fridge for up to 5 days.
Freezing: After the meatballs have cooled, add them to a freezer safe container and freeze for up to 3 months. When you want to eat them, let them thaw out in the fridge overnight.
Reheating: You can warm them gently on the stove over medium low heat, stirring occasionally until hot. If the gravy has thickened a bit in the fridge, just add a splash of broth or dairy free milk to loosen it up.
For a quick reheating, the microwave works too! Heat in 30-second bursts, stirring in between, until everything's warmed through.
If you make this recipe, I'd love to hear what you think! Leave a star rating or drop a comment below. Your feedback means so much to me! And if you snap a photo, tag me on Instagram at @kaleenas.kitchen so I can see your version!
Recipe

Dairy Free Swedish Meatballs (Gluten Free + Whole30)
Ingredients
For the meatballs:
- 1 pound ground bison *or ground beef
- ΒΌ cup almond flour
- 1 egg
- 2 teaspoons dried parsley
- 1 Β½ teaspoons garlic powder
- Β½ teaspoon salt
- Β½ teaspoon pepper
- ΒΌ teaspoon allspice
- ΒΌ teaspoon nutmeg
For the gravy
- 1 cup broth beef or chicken
- Β½ cup unsweetened dairy free milk
- 2 tablespoons coconut aminos
- 2 tablespoons arrowroot powder
- 1 tablespoon ghee *or Vegan butter
- 2 teaspoons Dijon mustard
Instructions
Cooking the meatballs
- Add the meatball ingredients to a large bowl and mix together using your hands.
- Using your hands or an ice cream scoop, roll the meatball mixture into 1.5 inch balls and place them on a plate. Put the plate in the refrigerator and let the meatballs chill for 10-30 minutes.
- Add avocado oil or olive oil to a large skillet and turn heat to medium.
- Cook the meatballs for 5 minutes and then turn them upside down and cook the other side for another 5 minutes.
- Once you have cooked both sides of the meatballs, using tongs, turn the meatballs on their sides and cook each side for 2 minutes then remove from the skillet and place on a plate.
Making the Gravy
- Add the ghee or vegan butter to the hot pan the meatballs were in and let it melt.
- Add the arrowroot to the pan and whisk together with the melted ghee or vegan butter. About 1-2 minutes.
- Add the dairy free milk, broth, coconut aminos, and Dijon mustard to a medium mixing bowl and whisk together.
- Slowly and a little bit at a time (I usually do a few tablespoons at a time), add the liquid to the hot pan, whisking to combine. The mixture will seize up at first but will loosen up the more liquid is added.
- Let the gravy thicken for about 5 minutes on medium heat, whisking occasionally.
- Once the gravy has thickened, add the meatballs back into the pan with the gravy and turn the heat to low. Let the meatballs and gravy cook on low for 5 minutes.
Notes
- Chill the meatballs before cooking so they stay firm and juicy.
- Use full-fat unsweetened coconut milk for an extra creamy sauce.
- If your gravy looks too thin, whisk in a bit more arrowroot slurry (1 teaspoon arrowroot and a tablespoon or two of broth or milk).
Nutrition
*nutrition information is an approximate
Share this recipe on Facebook
Hi, I'm Kaleena!
I'm a 30-something wife and dog mom who shares mostly gluten-free, dairy-free, Whole30, and Paleo friendly recipes. Since doing my first Whole30 in 2017, I have completely changed my way of cooking. I love to create recipes made from real, flavorful ingredients that the whole family will love!






