Vegan Swedish meatballs — meaty, IKEA-style seitan balls in a creamy mustard sauce. Serve with mashed potato or pasta for a warming, satisfying meal.

These vegan Swedish meatballs are high in plant protein, have a satisfying, meaty texture and are full of flavour. A creamy mustard sauce and mashed potato or pasta complete the ultimate comfort-food plate.
The meatballs are seitan-based for that chewy, meat-like bite. Finely chopped walnuts, chickpeas and mushrooms boost protein, add umami and help recreate the texture of traditional minced meat meatballs.
What Are Swedish Meatballs?
Swedish meatballs (köttbullar) are usually smaller than many other meatball varieties and are traditionally spiced with allspice and nutmeg, often finished with white pepper. They are served with a creamy gravy, mashed potato and lingonberry sauce. This vegan version aims to replicate that classic flavour profile and texture using seitan (vital wheat gluten).
What Is Seitan?
Seitan is made from vital wheat gluten, the protein component of wheat. When cooked it becomes chewy and dense, resembling meat in texture, and it’s a high-protein option for vegans. Combined with chickpeas, walnuts and mushrooms, wheat gluten helps create meatballs with authentic mouthfeel and flavour.

Ingredients Overview
For the meatballs: vital wheat gluten (essential), walnuts (coarsely ground for texture), chickpeas (finely chopped, not pureed), mushrooms (cooked and chopped), onion, garlic, soy sauce, nutritional yeast, tomato purée, vegetable bouillon powder, allspice, nutmeg, white and black pepper, salt and fresh parsley (optional).
For the sauce: vegan butter (or light oil), plain (all-purpose) flour, vegetable stock, vegan cream (soy or other neutral plant cream), soy sauce and wholegrain or Dijon mustard. These ingredients make a rich, savoury gravy that complements the meatballs.

Method Summary
Full measurements and step-by-step instructions are in the recipe card below.
1. Fry chopped onion, mushrooms and garlic in olive oil until soft and the liquid has evaporated.

2. Grind the walnuts in a food processor to a fine crumb, taking care not to make nut butter. Transfer to a bowl. Process the drained chickpeas until very finely chopped but not pureed, then add them to the walnuts.

3. Process the cooled mushroom-onion mixture until very finely chopped and combine with the walnut-chickpea mix. Add nutritional yeast, spices, salt, bouillon powder, soy sauce, tomato purée, chopped parsley and water. Mix well.

4. Stir in the vital wheat gluten until no dry patches remain. Do not knead vigorously — overworking will make the meatballs tough.

5. Shape the mixture into tight balls about a rounded tablespoon each (you should get roughly 37). Place spaced in a steamer pan — they will expand while cooking — and steam for 30 minutes, turning halfway through.

6. To make the sauce, melt vegan butter in a saucepan and stir in the flour to form a roux. Cook briefly, then whisk in vegetable stock a little at a time to avoid lumps. Simmer until thickened, then remove from heat and stir in the vegan cream, soy sauce and mustard. Adjust seasoning to taste.

7. When ready to serve, pan-fry the steamed meatballs in a little oil for 5–8 minutes, turning frequently until browned on all sides. Serve with mashed potatoes, the creamy gravy and lingonberry or cranberry sauce if you like.

Tips
- You’ll need a steamer pan or insert; steaming produces the best seitan texture. If your steamer is small, work in batches.
- Use a food processor to chop ingredients finely but avoid pureeing — the mixture should retain some texture for the best results.
- Do not overmix or knead after adding the vital wheat gluten. Mix only until combined to prevent toughness.
- Keep meatballs and sauce separate until serving so the balls don’t soak up too much liquid and go soft. Store leftovers separately.
- If short on time, serve the homemade sauce with good-quality store-bought vegan meatballs.
- The basic meatball mixture can be adapted to other spice profiles by swapping the Swedish spices for alternatives.

Alternatives and Storage
If you don’t have a steamer: bake on parchment-lined trays at 180°C / 350°F (gas mark 4) for 30 minutes, flipping halfway. The texture will be slightly different; simmering in the sauce for a few minutes will help soften them.
Gluten-free? These cannot be made gluten-free because vital wheat gluten is essential to form seitan. You could use a separate gluten-free meatball recipe and a tamari-based gravy as an alternative.
Make ahead: Both meatballs and sauce can be prepared a couple of days in advance. Steam and cool the balls, then refrigerate in an airtight container for up to four days. Reheat by pan-frying until browned and heated through. The sauce keeps for a few days; warm gently and add stock if needed to loosen it.
Freezing: Freeze steamed, cooled meatballs in a single layer on a tray, then transfer to a bag or container. Defrost in the fridge (or microwave) and pan-fry to reheat and brown before serving.
Serving Suggestions
Traditionally served with mashed potato and lingonberry sauce; cranberry sauce is a convenient substitute. They also work well with pasta or rice and a side of steamed or stir-fried green vegetables for a balanced plate.
Recipe Card
Vegan Swedish Meatballs
Ingredients
Meatballs:
- 2 Tbsp olive oil
- 1 large brown onion, peeled and chopped
- 250 g chestnut mushrooms, sliced
- 4 cloves garlic, peeled and crushed
- 100 g walnuts
- 400 g tin chickpeas, well drained
- 4 Tbsp nutritional yeast
- ¾ tsp allspice
- ½ tsp nutmeg
- ½ tsp black pepper
- ⅛ tsp white pepper
- ¼ tsp salt
- 1 tsp vegetable bouillon powder
- 2 Tbsp soy sauce
- 1 Tbsp tomato purée
- 15 g fresh parsley, very finely chopped
- 160 ml cold water
- 200 g vital wheat gluten*
Sauce:
- 30 g (2 Tbsp) vegan butter
- 30 g (¼ cup) plain (all-purpose) flour
- 500 ml (2 cups) vegetable stock
- 250 ml (1 cup) vegan cream
- 1–2 Tbsp soy sauce (to taste)
- 2 tsp wholegrain mustard (or 1 tsp Dijon)
Instructions
- Heat the olive oil and cook the onion gently for about 10 minutes until soft and translucent.
- Add mushrooms and garlic and cook until soft and the excess liquid has evaporated.
- Blitz the walnuts in a food processor to a fine crumb; avoid making nut butter.
- Add drained chickpeas to the processor and blend until very finely chopped but not pureed. Combine with the walnuts.
- Process the mushroom–onion mixture until finely chopped and add to the bowl.
- Mix in nutritional yeast, spices, salt, bouillon powder, soy sauce, tomato purée, parsley and water.
- Stir in the vital wheat gluten until combined and no dry patches remain. Do not overwork.
- Shape into balls (rounded tablespoon size) and place spaced in a steamer pan.
- Steam for 30 minutes, turning halfway. Cool and refrigerate or freeze if desired.
- For the sauce, melt butter, stir in flour and cook briefly. Gradually whisk in stock, simmer until thickened.
- Remove from heat, stir in cream, soy sauce and mustard; season to taste.
- Pan-fry meatballs in a little oil for 5–8 minutes until browned. Serve with mashed potato and the creamy gravy.
Notes
- Follow the recipe closely for the best texture and flavour. Vital wheat gluten is essential and cannot be substituted.
- Weigh ingredients where possible — gram measurements are more reliable than cups.
- Do not leave meatballs sitting in the sauce or they will absorb liquid and soften.
- Steamer size affects batch size; a 24 cm two-layer steamer fits a full batch for this recipe.

If you try this recipe, please rate it or leave a comment — feedback is appreciated.
