Oven-Baked Vegan Swedish Meatballs with White Beans

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.

Cast iron skillet with a spoon scooping out a Swedish meatball in sauce and placing into a bowl with green beans and more meatballs in sauce.

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

Labeled ingredients for vegan Swedish meatballs including diced mushrooms and onions, olive oil, two kinds of beans, ground flax, tomato paste, parsley and spices.
  • 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.

Cast iron skillet with oil, small diced mushrooms and onions.

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.

Sauteed onions and mushrooms in a cast iron skillet with grated garlic and salt on top.

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.

Potato masher, prepping beans in a glass bowl.

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.

Mashed beans, sauteed mushrooms and onions, tomato paste, chopped parsley, ground flax and spices in a glass mixing bowl.

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.

Small cookie scoop portioning out vegan Swedish meatballs from batter in a glass 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.

Small vegan Swedish meatballs in heaps on a baking sheet with parchment, half have been rolled into smooth balls.

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.

Baked  vegan Swedish meatballs on a tray lined with parchment paper.

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.

Labeled ingredients for Swedish meatball sauce.

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.

Cast iron skillet with oil and flour.

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.

Whisking flour and olive oil into a paste in a cast iron skillet.

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.

Broth poured onto a roux that's being stirred with a whisk in a cast iron skillet.

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.

A bit of dijon mustard and some tamari added to a yellow creamy sauce in a cast iron skillet.

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.

A fork mashing miso into some milk in a pyrex measuring cup.

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.

Creamy orangish yellow sauce in a cast iron skillet.

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.

Vegan Swedish meatballs in a mustardy creamy sauce, all inside a cast iron skillet.

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

img 33536 20
  • 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

Cast iron pan filled with vegan Swedish meatballs in a creamy sauce.

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.

Prep Time: 10 mins
Cook Time: 40 mins
Total Time: 50 mins
Servings: 4
Calories: 424 kcal

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

  1. Preheat oven to 425°F and line a large rimmed baking sheet with parchment paper.
  2. 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.
  3. 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.
  4. 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.
  5. Bake for 15 minutes, flip each ball, then bake another 15 minutes until firm and browned on the outside.

Sauce

  1. 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.
  2. Add vegetable broth a little at a time, whisking until smooth before adding more, to keep the sauce lump-free.
  3. Stir in tamari and Dijon mustard. Add most of the plant milk, reserving 2 tablespoons to dissolve the miso.
  4. Dissolve miso in the reserved milk, then whisk it into the sauce. Continue whisking until the sauce is creamy and fully combined.
  5. 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