
These vegan cocktail meatballs are super scrumptious with a tangy sweet & sour cranberry sauce! It’s a delicious way to kick off your holiday feast with a couple bites per guest. That way, no one will end going overboard before dinner time!
If you’re especially lazy and you don’t want to make your own meatballs, you can get pre-made ones from the store. Then you just have to make the sauce!
This appetizer is just one of two holiday bites I showcased in this week’s video with Hudson’s Bay. The dishware in the photography and video is from Hudson’s Bay and I’m sharing some more foodie gift ideas on their blog here you can check out!


vegan meatballs with sweet & sour cranberry sauce
These saucy little vegan cocktail meatballs are super scrumptious with a tangy sweet & sour cranberry sauce!
Ingredients
vegan meatballs
- 1 1/2 C warm water
- 1 tbsp vegan beef flavored bouillon
- 1 C TVP crumbles
- 2 tbsp ground flax
- 3 tbsp water
- 1 C finely diced onion
- 4 to 5 garlic cloves, minced
- 1 tbsp + 2 tbsp olive oil
- 1/2 tsp dried thyme
- 1/2 tsp dried rosemary
- 1/2 tsp dried oregano
- 1/2 tsp smoked paprika
- 1/2 tsp onion powder
- 1/2 tsp garlic powder
- 1/4 tsp ground cumin
- 3/4 tsp sea salt
- 1/2 tsp ground black pepper
- 1/2 C finely minced cooked beets
- 1 C canned black beans, mashed with a fork
- 1 C rolled oats (not quick cooking), ground into flour (3/4 C of flour)
- 1 tbsp snipped chives, as garnish
sweet and sour cranberry sauce
- 3/4 C canned cranberry sauce
- 1/4 C canned fire roasted tomatoes
- 1/4 C reserved broth from soaking TVP
- 2 tbsp red wine vinegar
- 2 tsp vegan worcestershire
- 1 tsp miso paste
- 2 tsp cornstarch
- 1/8 tsp sea salt
Instructions
-
If you can’t find small pieces of TVP, you can pulse large pieces in a food processor before hydrating.
-
In a mixing bowl, add bouillon and water and stir to combine and dissolve. Then pour over the TVP in a larger bowl. Let it soak until the TVP pieces have expanded, but are still a bit firm to touch. It will only take a few minutes. Strain over the first mixing bowl to reserve the stock, which you’ll use for the sweet and sour sauce, and gently press the TVP to ensure the TVP pieces aren’t soaked in liquid.
-
Combine the ground flax with the 3 tablespoons of water in a small bowl until well combined. Set aside to thicken while you cook the base of the meatballs.
-
Heat 1 tablespoon of olive oil in a medium cast iron skillet over medium heat. Sauté onion and garlic for 2 to 3 minutes until soft and fragrant. Lower heat if necessary to prevent burning. Then add all the spices, sea salt, and ground black pepper and cook for another minute. Then add in the strained TVP and stir to combine, cooking for another 2 to 3 minutes.
-
Remove this mixture from the pan into the large mixing bowl. Combine with beets, beans, and flax mixture until well combined and mixture looks evenly combined. Then stir in oat flour until combined.
-
Form 1 1/2-inch balls with your hands and set meatballs on a tray lined with parchment paper. Once they’re all formed, place the tray in the fridge for at least 30 minutes to firm up and cool before pan frying.
-
Preheat oven to 425°F.
-
In the meantime, you can make the cranberry sweet and sour sauce by combining all the ingredients together in a blender until smooth. Set aside until meatballs have been browned.
-
Wipe your skillet clean of any residue from sautéing the onions. Heat it over medium heat with 2 tablespoons of olive oil, coating the pan evenly on the bottom. Once hot, place meatballs just slightly spaced apart in the skillet and brown on one side for about 1 to 2 minutes. Do not overcrowd. Depending on the size of your pan, you may need to do these in 2 batches.
-
Gently flip the meatballs and brown all remaining sides for about another 1 to 2 minutes each. They should be evenly browned up and slightly crispy on all sides. This took me about 12 minutes in 2 batches. Then remove the meatballs from the pan onto your parchment lined baking sheet.
-
Pour about 1/2 the sweet and sour sauce into the skillet and place meatballs in the sauce slightly spaced apart. Then take a spoon or brush and coat the tops of the meatballs with sauce from the remaining amount. Leave about 2 tablespoons of sauce to coat just before serving once out of the oven.
-
Bake for 15 minutes.
-
After removing the skillet from the oven, brush the remaining sauce on the meatballs and garnish with snipped chives. Serve immediately either with toothpicks and guests can take meatballs right out of the pan, or scoop with spoons onto plates.
9 thoughts on “vegan meatballs with sweet & sour cranberry sauce”
Wow these meatballs are excellent! Tasty, spicy, nourishing, perfect texture. A bit surprised when reading the cranberry tomato association for the sauce, but it turned out so good! Didn’t have any cranberry sauce ready to use, so I’ve just mixed dried cranberries with water, it was gooood. Thanks for the recipe!
happy you liked them!
Hi Lauren! The meatballs look delicious. However I do not have an oven at the moment. Do you think I can make them without?
Thank you.
I served this for a Thanksgiving meal to meat-eaters, we were fighting over these. Absolutely amazing recipe!!! Re-visiting to make more! 🙂
Followed the recipe…I really didn’t like it…the sauce was weird; tomato cranberry and vinegar is just an odd combo…the flaxseed came through too much in the meatball and it was ALOT of effort for a mediocre meal…spent like 2 hours on it -__-…it reminds me of what people think of when they think vegan food-bland unsatisfying etc…redeeming factor is it was very healthy for a meatball and my daughter liked them…
I really like the flavor of these, but I agree that they are a lot of freaking work! Far from easy, as the title suggests, and I am a seasoned cooked.
Delicious!!! We will be having these again! I did sweeten the sauce some. It was just a little too tart for our taste.
Do the meatballs, without sauce, freeze well?
I haven’t actually tried but I would guess you could freeze them
Hi Carla. Just wondering if you tried freezing these. I want to make them ahead and being able to freexe them would be really helpful!
Would love to know!
Collette