Swedish meatballs are the reason many of us make a beeline for the IKEA cafeteria — that warm, nutmeg-scented gravy hits a comfort-food sweet spot. This vegan version captures that same cozy feeling without relying on processed meat substitutes or dairy. Instead, earthy shiitake mushrooms and mashed beans create the base for the meatballs, while a simple olive oil roux, plant milk, and a touch of miso form a silky, savory gravy. The result is familiar, comforting, and made from pantry-friendly ingredients you likely already have on hand.

This hearty vegan dinner pairs perfectly with simple roasted vegetables or a crisp green salad. The recipe is adaptable, uses common pantry staples, and scales easily for meal prep. If you want a vibrant side, try roasted purple cabbage or crispy roasted broccoli — both highlight the creaminess of the sauce and add color and texture to the plate.
Vegan Meatball Ingredients

- Spices: A blend of oregano, allspice, nutmeg, and black pepper gives these meatballs a warm, savory flavor that complements the beans rather than masking them.
- Shiitake mushrooms: If you can’t find shiitake, another meaty mushroom will work. Mushrooms add essential umami and a satisfying texture that helps mimic the bite of traditional meatballs.
Step-by-Step: Baked Vegan Swedish Meatballs
Preheat the oven to 425°F and line a large rimmed baking sheet with parchment paper.

Mince the mushrooms and onion finely. Heat a skillet over medium heat with a couple tablespoons of olive oil and sauté the mixture for about 5 minutes, until the mushrooms and onion have reduced in volume and are lightly browned.

Grate or mince the garlic and add it to the pan with salt. Stir and cook briefly until fragrant, about 30–60 seconds. Remove from heat and set aside to cool slightly.

In a large bowl, mash the rinsed and drained beans with a fork or a potato masher. Aim for a mostly creamy texture with a few small pieces remaining; avoid leaving whole beans.

Stir in tomato paste, ground flax, dried oregano, ground allspice, nutmeg, black pepper, chopped parsley, and the cooked mushroom-onion-garlic mixture. Mix thoroughly until the ingredients are evenly combined and no dry bits remain at the bottom of the bowl.

Use a small cookie scoop or two tablespoons to portion the mixture onto the prepared baking sheet. Wet your hands slightly and roll each portion into a smooth ball.

Arrange the balls evenly on the sheet so they have space to brown. Bake for 15 minutes, then flip each ball and bake another 15 minutes, until golden and firm to the touch.

Dairy-Free Swedish Meatball Sauce
While the meatballs bake, prepare the sauce. Using the same skillet keeps all of that mushroom flavor in the gravy and requires fewer dishes.

Flour: Any all-purpose flour works; use a gluten-free all-purpose blend if you need the entire dish to be gluten-free. The roux with olive oil creates a rich base for the gravy.

Return the skillet to medium heat and add about 1/4 cup olive oil. Sprinkle in 1/4 cup flour and whisk continuously to form a paste. Cook for a minute or two to remove the raw flour taste.

Slowly add 1 1/2 cups vegetable broth a few tablespoons at a time, whisking between additions so the liquid fully incorporates and the sauce remains smooth and lump-free.

Once the broth is fully incorporated and the sauce has a smooth consistency, whisk in 2 tablespoons tamari and 2 teaspoons Dijon mustard. These add depth and a gentle tang.

Pour in 1 cup plant milk in two stages: add about half first, whisk until smooth, then add the remainder except for 2 tablespoons. Reserve those 2 tablespoons for dissolving the miso.

Use a fork to dissolve 2 teaspoons miso into the reserved 2 tablespoons of milk, breaking up any lumps. Stir until smooth, then whisk the miso mixture into the pan.

Continue whisking until the sauce is glossy and silky. Adjust seasoning to taste—add a touch more tamari for saltiness or a pinch of pepper for bite.

Gently transfer the baked meatballs into the sauce and stir to coat. Finish with chopped fresh parsley and a grind of black pepper if desired. Serve over mashed potatoes, egg-free noodles, or with roasted vegetables for a complete meal.
Debra’s Pro Tips

- When mixing the meatball batter, use the parsley as a visual guide: if flecks of green are evenly distributed, the spices and ground flax are likely well incorporated as well.
- I prefer smaller meatballs because they brown more evenly and let you enjoy more sauce per bite. Using about 1 to 1.5 tablespoons of batter per ball makes a good size. Smaller balls will firm up faster; larger ones may need a few extra minutes in the oven.
- For meal prep: store meatballs and sauce separately in airtight containers and reheat gently on the stovetop, adding meatballs to the sauce until heated through. Uncooked formed meatballs can be flash-frozen on a tray, then transferred to a freezer bag and kept up to three months.
Recipe

Baked Vegan Swedish Meatballs with Beans
Hearty, saucy, and baked until golden — a comforting vegan take on Swedish meatballs that skips dairy and processed meat but keeps all the flavor.
Ingredients
Vegan Swedish Meatballs
- 2 tbsp olive oil
- 1 cup shiitake mushrooms, small dice
- 1 small onion, small dice
- 3 cloves garlic, grated
- ½ tsp sea salt
- 1 (14.5-oz) can pinto beans, rinsed and drained
- 1 (14.5-oz) can kidney beans, rinsed and drained
- 2 tbsp tomato paste
- ⅓ cup ground flax
- ½ tsp dried oregano
- ¼ tsp ground allspice
- ¼ tsp ground nutmeg
- ¼ tsp ground black pepper
- ¼ cup fresh parsley, chopped
Vegan Swedish Meatball Sauce
- ¼ cup olive oil
- ¼ cup all-purpose flour (or gluten-free blend)
- 1.5 cups vegetable broth
- 2 tbsp tamari
- 2 tsp Dijon mustard
- 1 cup plant milk (almond or other)
- 2 tsp miso
- 2 tbsp fresh parsley, chopped (for garnish)
Instructions
Meatballs
- Preheat oven to 425°F and line a large rimmed baking sheet with parchment paper.
- Prep onion and mushrooms into a small dice. Sauté in olive oil over medium heat for about 3–5 minutes. Grate garlic into the pan, stir, and cook until fragrant.
- In a large bowl, mash both cans of beans until mostly creamy with a few small chunks remaining. Stir in tomato paste, ground flax, spices, parsley, and the cooked mushroom mixture until evenly combined.
- Use a small cookie scoop or two spoons to drop roughly 1–1.5 tablespoon portions onto the prepared baking sheet. Wet hands slightly and roll each into a smooth ball.
- Bake for 15 minutes, flip each ball, then bake another 15 minutes until firm and browned on the outside.
Sauce
- Return the skillet used for the mushrooms to medium heat. Whisk olive oil and flour together until a paste forms and cook briefly to remove the raw flour taste.
- Add vegetable broth a little at a time, whisking until smooth before adding more, to keep the sauce lump-free.
- Stir in tamari and Dijon mustard. Add most of the plant milk, reserving 2 tablespoons to dissolve the miso.
- Dissolve miso in the reserved milk, then whisk it into the sauce. Continue whisking until the sauce is creamy and fully combined.
- When meatballs are done, add them to the sauce and gently coat. Garnish with chopped parsley and ground black pepper if desired.
Notes
Storage & Meal Prep:
- Store meatballs and sauce separately in airtight containers if making ahead. Reheat on the stovetop and combine before serving.
- To freeze uncooked meatballs: form balls, place on parchment, flash-freeze for about an hour, then transfer to a freezer bag and freeze up to three months.
Nutrition (per serving)
Calories: 424 kcal • Carbohydrates: 35 g • Protein: 13 g • Fat: 28 g • Fiber: 12 g • Sodium: 1159 mg