Vegan Swedish Meatballs With Gravy

Vegan Swedish Meatballs

Yes friends, this is completely vegan; gravy and “meatballs” included. Gluten- and oil-free too. No, you have not died and gone to culinary heaven.

As I have mentioned before on multiple occasions, my younger sister has a very particular palate. For one, she loves all things including potatoes, garlic and pasta. You would think that would cover everything within the entree-region. Oh how wrong you would be.

One thing she always loved was Scandinavian-style meatballs served with a creamy brown gravy and a side of steamed potatoes. She is for the record also a vegan, going on almost two years now, so naturally I had to make a vegan version of this childhood favourite.

I opted for naming this Swedish meatballs since that is probably what it’s known as internationally (shoutout to IKEA), but it is frequently served here in Norway as well. If you are going all-out, make some lingonberry jam to go with it. Also put on some lively violin music and do traditional folk dances where you kick hats off sticks while wearing a Budnad. Or would that be a bit of an overkill?

Nutmeg and cardamom are the spices to focus on when making this dish. It is what gives them the distinct round and flavourful taste. I listed the amount you should start out with, but as with all cooking, remember to taste during and gradually add in more if needed.

The gravy also taste delicious with other dishes, be it just simple steamed vegetables, rice, etc. So if you are not in the mood for meatballs (ermh… why?), the gravy would be a tasty addition to almost any dinner you are making.

Vegan Swedish Meatballs
Vegan Swedish Meatballs


makes approx. 15 meatballs

for the “meatballs”:

  • 1 1/2 cups certified gluten-free rolled oats (130 grams)
  • 1/2 cup buckwheat flour (73 grams)
  • 1/2 cup certified gluten-free oat flour (40 grams)
  • 1 cups vegan vegetable broth (210 grams)
  • 1 large yellow onion, chopped
  • 3 garlic cloves, minced
  • 3 tbsp gluten-free soy sauce
  • 2 tbsp liquid aminos
  • 1 tsp ground nutmeg
  • 1 tsp ground cardamom
  • 1 1/2 tsp sea salt
  • freshly ground black pepper, to taste

for the gravy:

  • 450 grams organic firm & silken tofu
  • 3 cloves of garlic, minced
  • 1 cup water (210 grams)
  • 1 large yellow onion, chopped
  • 3 tbsp gluten-free soy sauce
  • 2 tbsp cornstarch
  • 1 tbsp vegetable broth powder
  • 1 tbsp nutritional yeast
  • 1 tbsp liquid aminos
  • 1 tsp ground nutmeg
  • 1 tsp ground cardamom, to taste
  • sea salt and freshly ground black pepper, to taste


  1. Start off by making the meatball batter. Combine the rolled oats with the 1 cup vegetable broth and let this sit for a few minutes before adding in all the remaining ingredients for the meatballs. I chose to process the batter in a food processor but you can do it by hand as well. Once well combined, shape into balls using wet hands and place on a plate lined with parchment. I used about one heaped tablespoon per meatball. I like to make one small test meatball first, cook it like explained on the next step and then taste to see if I want to add any more of the spices but this is optional. I think I ended up using 1/2 tsp extra of both nutmeg and cardamom but this might be too aromatic for some.
  2. Heat up a large non-stick saucepan on medium-high heat. Once you are satisfied with the taste, add in all of the meatballs and cook for about a couple minutes before flipping. Let this cook for around 10 minutes, flipping frequently to make sure all sides get evenly cooked. While this sits, make the sauce.
  3. To make the gravy, start off by cooking the garlic and onion in a medium-sized pot for a few minutes until soft. Meanwhile add all the other ingredients in a high-speed blender. Once the garlic and onion are ready, add to the blender as well and run until smooth. Taste and adjust seasoning accordingly. Pour into the pot again and warm up on low-medium heat, stirring frequently to avoid clumping.
  4. Pour the sauce into the pan with the meatballs once they are properly cooked. You might have some left-over gravy, so do not pour all the sauce in at once. Put the pan back on low heat and allow to simmer for 5 – 10 minutes, so the sauce properly seeps into the meatballs. The sauce will thicken, so if you prefer a thinner version you can gradually add in more water until you are satisfied with the consistency.

If you prefer crisper meatballs you can skip this step and instead serve the gravy on the side! Both variations taste amazing in it’s own right.

If you are pulling out all the stops you can serve this with a side of lingonberry jam, steamed potatoes and carrots. Pictured I sprinkled some fresh rosemary leaves on top.

Best wishes and happy cooking.


Please enter your comment!
Please enter your name here