
There really is something to be said for ugly delicious food. And Swedish meatballs are arguably at the pinnacle of ugly delicious, with beige sauce on top of brown meatballs and precious little else. What makes this dish, in many ways, is dill. I reckon it’s one of the world’s most underrated herbs, and it adds a freshness and dimension of flavour you can’t really replicate with anything else.
The beauty of this recipe is the meatball base. Once you nail the technique, feel free to change the flavour profile to suit a bunch of other recipes; from spaghetti meatballs, to curries and stews, these meatballs are worth nailing.
2 tbsp olive oil
1 brown onion, finely diced
2 garlic cloves, minced
1 tsp caraway seeds
400 g veggie mince, fresh
100 g firm tofu, medium, crumbled
2 tsp sweet paprika
1⁄2 tsp ground allspice
2 tbsp potato starch
1 tsp salt
vegetable oil, for frying
40 g vegan butter
1⁄2 brown onion, finely chopped
1 tsp caraway seeds
2 garlic cloves, minced
2 tbsp plain flour (all-purpose flour)
500 ml vegan beef stock
2 tbsp vodka, optional
2 tbsp vegan cream cheese
1 handful dill, very large, roughly chopped
Turn your recipe chaos into a plan for the week.
Browse 1000+ inspiring creator recipes
Unlimited recipe import from social media, blogs and more
Generate shopping lists and meal plans in seconds with AI
Heat the in a small frying pan over a medium heat. Add the and a pinch of salt and cook, stirring, for a few minutes until softened. Add the and and cook for another minute. Remove from the heat and set aside to cool slightly.
In a bowl, mix the , , , , , , some pepper, and the cooked , , and mixture until well combined. With wet hands, form the mixture into meatballs the size of ping-pong balls.
To cook, you can either shallow-fry the in a frying pan or deep-fry them. Pan-frying will yield flatter meatballs, while deep-fried meatballs will be perfectly round.
To shallow-fry, heat vegetable oil in a frying pan over a medium heat and cook the for about 2 minutes each side, or until golden brown. You may need to cook them in batches to avoid overcrowding the pan.
To deep-fry, heat the vegetable oil in a heavy-based saucepan until it reaches 160°C (320°F) on a thermometer (or test by dropping in a small amount of meatball mix – it should start bubbling immediately). Deep-fry in batches until golden brown.
Remove the cooked with a slotted spoon and drain on paper towel while you prepare the sauce.
To make the sauce, melt the in a large frying pan over a medium heat, add the and and cook until slightly golden. Add the and cook for another minute.
Sprinkle over the and cook, stirring, for 2 minutes until it starts to turn slightly golden. Slowly add the , stirring constantly to avoid any lumps. Add the (if using) and whisk in the or sour cream.
Add the to the sauce and cook over a low heat for about 5 minutes, stirring well to ensure the meatballs are evenly coated. Check the seasoning and add extra and pepper as needed, then stir through the and serve. This is great with mash and green beans or your favourite starch.
If the sauce thickens too much after you have added the meatballs, add a splash of water.